/*I have defined Extension Methods for the TypeX like this*/
public static Int32 GetValueAsInt(this TypeX oValue)
{
return I
Extension methods can greatly impact compile time. On a large project I was on, our compile times went from 15 minutes to 3 minutes by simply moving extension methods to different namespaces. Same exact code, just copy and pasted to different namespaces.
If you are considering compile time as part of your "performance" metric, then performance is certainly impacted. As a developer, 15 minute build times vs 3 minute build times is significant.
The main issue for us was that we had a large number of extension methods in only a few namespaces. Every class or project that referenced the bloated namespaces (with a using statement) caused the compiler to search through a huge number of extension methods. Apparently this search is not optimal and slowed the IDE down. Intellisense was terribly slow and became unresponsive.
By simply moving the extension methods into seperate, more granular namespaces, the compile time shot way down. Definitely worth considering.