A adição [serializável] à classe tem alguma implicação de desempenho?
-
05-07-2019 - |
Pergunta
Preciso adicionar o atributo [serializável] a uma classe extremamente sensível ao desempenho.
Esse atributo terá alguma implicação de desempenho na operação da classe?
Solução
Instâncias de classes de atributo são criadas apenas quando são acessadas pela primeira vez. Se você não faz nenhuma serialização nessa classe em particular, o SerializableAttribute()
O construtor nunca será chamado, portanto, não causará problemas de desempenho.
Aqui está um artigo interessante sobre construtores de atributos:http://www.codingonthetrain.com/2008/10/attribute-constructors.html
Outras dicas
Os atributos são uma anotações de metadados, para que eles não acresçam peso a uma aula em tempo de execução, a menos que sejam interpretados pelo tempo de execução de uma certa maneira que o faça tratar a classe de maneira diferente.
Serializável] é simplesmente um atributo marcador usado como uma convenção para indicar que a classe é serializável, não tem efeito e o tempo de execução não trata as classes de maneira especial.