Does adding [Serializable] to the class have any performance implications?

attributes, c#, performance, serializable, visual-studio-2008

Solution

Instances of attribute classes are only created when they're first accessed. If you don't do any serialization on that particular class, the `SerializableAttribute()` constructor will never be called, hence it won't cause any performance issues.

Here's an interesting article about attribute constructors: http://www.codingonthetrain.com/2008/10/attribute-constructors.html

Problem

I need to add the [Serializable] attribute to a class that is extremely performance sensitive. Will this attribute have any performance implications on the operation of the class?

Original source