Я только что наткнулся на этот пост, в котором говорится о измерении времени. Я помню (надеюсь, что не ошибаюсь) это нечестная конкуренция, если этот метод никогда не называется раньше. То есть:
// At the beginning of the application
MyClass instance = new MyClass();
instance.MyMethod();
instance.MyMethod(); // Faster than the first call, because now it warmed up.
Есть ли у нас такая теория прогрева в С#? Если да, то почему (что сделает CLR при разогреве)? И все ли одинаково, если этот метод является расширением (статическим)?