Czy istnieje prosty sposób uzyskania kodu JIT z przodu, zamiast czekać na pierwszy raz wywołania kodu? Czytałem o NGEN, ale nie sądzę, że to mi pomoże.Unikanie nadmiaru JIT C#
Moja aplikacja czeka i odpowiada na określone zdarzenie zewnętrzne pochodzące z portu UDP, a żaden z kodów ścieżki krytycznej nie jest (a) uruchamiany przed nadejściem zdarzenia, lub (b) kiedykolwiek jest uruchamiany ponownie, więc koszt JIT jest wysoki w tym scenariuszu. Sprawdzanie w narzędziu profilowania ANTS nakład na JIT wynosi około 40-50%, czasami jest aż 90%. Moja aplikacja jest bardzo wrażliwa na opóźnienia i liczy się każda milisekunda.
Moja początkowa myśl polega na tym, że mogę dodać parametr bool do każdej metody ścieżki krytycznej i wywołać te metody przed wystąpieniem zdarzenia, aby zainicjować kompilację JIT. Czy jest jednak ładniejszy i mniej odrażający sposób?
Wielkie dzięki
Dlaczego firma NGEN nie mogłaby Ci pomóc? –
Czy ustaliłeś, że to problem? A może po prostu myślisz, że to może być? –
Jestem (praktycznie) pewien, że to problem Henka. Właśnie zaimplementowałem na jednej metodzie moje hacky podejście i narzut JIT dla tej metody w ANTS profilera zniknął. – endian