Warm-up when calling methods in C#
Just come across to [this post][1] that talks about time measuring, I remember(hope I'm not misremembering) it's an unfair competition, if this method is never called before. That is:

    //at the beginning of the app
    MyClass instance = new MyClass();
    instance.MyMethod();  
    instance.MyMethod();  // faster than the first call, because now it's warmed up.
Do we really have such warming-up theory in C#? If yes, why(what will the CLR do when warming-up)? And is everything the same if this method is an extension one(a static one)?


  [1]: http://stackoverflow.com/questions/232848/wrapping-stopwatch-timing-with-a-delegate-or-lambda
Warm-up when calling methods in C#
===

Just come across to [this post][1] that talks about time measuring, I remember(hope I'm not misremembering) it's an unfair competition, if this method is never called before. That is:

    //at the beginning of the app
    MyClass instance = new MyClass();
    instance.MyMethod();  
    instance.MyMethod();  // faster than the first call, because now it's warmed up.
Do we really have such warming-up theory in C#? If yes, why(what will the CLR do when warming-up)? And is everything the same if this method is an extension one(a static one)?


  [1]: http://stackoverflow.com/questions/232848/wrapping-stopwatch-timing-with-a-delegate-or-lambda