title: Warm-up when calling methods in C#
body: <p>I just came across <a href="https://stackoverflow.com/questions/232848/wrapping-stopwatch-timing-with-a-delegate-or-lambda">this post</a> that talks about time measuring. I remember (I hope I'm not misremembering) it's an unfair competition, if this method is never called before. That is:</p>
  
  <pre><code>// At the beginning of the application
  MyClass instance = new MyClass();
  instance.MyMethod();
  instance.MyMethod();  // Faster than the first call, because now it's warmed up.
  </code></pre>
  
  <p>Do we really have such warming-up theory in C#? If yes, why (what will the <a href="http://en.wikipedia.org/wiki/Common_Language_Runtime" rel="nofollow noreferrer">CLR</a> do when warming-up)? And is everything the same if this method is an extension one (a static one)?</p>