Czy profilOptimization rzeczywiście działa?

Jednym z nowych ulepszeń wydajności dla .NET 4.5 jest wprowadzenie „MultiCode JIT”.

Widziećtutaj po więcej szczegółów.

Próbowałem tego, ale wydaje się, że nie ma to wpływu na moją aplikację.

Powodem, dla którego mnie to interesuje, jest to, że moja aplikacja (IronScheme) potrzebuje dużo czasu na uruchomienie, jeśli nie NGEN'd, co oznacza, że ​​przy starcie jest zaangażowana duża ilość JIT'ng. (1,4 s vs 0,1 s, gdy NGEN'd).

Postępowałem zgodnie z instrukcjami, jak to włączyć, i widzę „mały” (4-12 KB). Ale przy następnym uruchomieniu wydaje się, że nie ma absolutnie żadnego wpływu na poprawę czasu uruchamiania. To wciąż 1,4 sekundy.

Czy ktoś rzeczywiście widział (lub robił) to w praktyce?

Czy istnieją również jakieś ograniczenia dotyczące tego, który kod będzie „śledzony”? Np .: konteksty ładowania zespołu, zespoły przejściowe itp. Pytam o to, ponieważ utworzony plik nigdy nie wydaje się rosnąć, ale w rzeczywistości generuję sporą ilość kodu (w zespole przejściowym).

Jeden błąd, który spotkałem, był takiSetProfileRoot nie wydaje się rozumieć / jako separatora ścieżek, upewnij się, że używasz

questionAnswers(2)

yourAnswerToTheQuestion