ProfileOptimization Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Poprawia wydajność uruchamiania domen aplikacji w aplikacjach, które wymagają kompilatora just in time (JIT), wykonując kompilację w tle metod, które prawdopodobnie zostaną wykonane, na podstawie profilów utworzonych podczas poprzednich kompilacji.
public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
- Dziedziczenie
-
ProfileOptimization
Uwagi
Uwaga / Notatka
- Optymalizacja profilu wymaga komputera wielordzeniowego. Metody są ignorowane na innych komputerach.
- Ten interfejs API skraca czas uruchamiania. Te ulepszenia stanowią uzupełnienie dynamicznej optymalizacji opartej na profilu (Dynamic PGO), co poprawia optymalizację środowiska uruchomieniowego na podstawie obserwowanych wzorców wykonywania.
Za każdym razem, gdy inicjujesz optymalizację profilu w domenie aplikacji, odczytany jest profil utworzony podczas poprzedniego użycia. Informacje w profilu służą do kierowania kompilacją w tle przez zidentyfikowanie metod, które najprawdopodobniej zostaną wykonane podczas uruchamiania. Na komputerach wielordzeniowych zwiększa to prawdopodobieństwo, że metoda jest już skompilowana przez czas potrzebny, aby główny wątek aplikacji nie musiał wywoływać kompilatora JIT.
Plik profilu jest zastępowany przy każdym użyciu, dlatego zawsze zawiera najnowsze informacje o tym, które metody są używane podczas uruchamiania.
Profile optymalizacji nie są ograniczone do uruchamiania domeny aplikacji. Mogą być one używane w przypadku dowolnego działania wymagającego intensywnego użycia kompilatora JIT. Można obsługiwać wiele profilów dla domeny aplikacji, dzięki czemu każde takie działanie ma własny profil.
Aby używać profilów optymalizacji w domenie aplikacji, należy wywołać metodę SetProfileRoot i określić folder, w którym są przechowywane profile. Folder musi już istnieć. Aby rozpocząć korzystanie z profilu, wywołaj StartProfile metodę i określ nazwę pliku profilu. Jeśli plik nie został wcześniej zarejestrowany, zostanie utworzony przy pierwszym użyciu. Przy pierwszym utworzeniu profilu nie ma korzyści z wydajności.
Optymalizacja profilu nie zmienia kolejności wykonywania metod. Metody nie są wykonywane w wątku w tle; jeśli metoda jest kompilowana, ale nigdy nie jest wywoływana, nie jest po prostu używana. Jeśli plik profilu jest uszkodzony lub nie można go zapisać w określonym folderze (na przykład, ponieważ folder nie istnieje), wykonywanie programu będzie kontynuowane bez profilowania optymalizacji.
Metody
| Nazwa | Opis |
|---|---|
| SetProfileRoot(String) |
Włącza profilowanie optymalizacji dla bieżącej domeny aplikacji i ustawia folder, w którym są przechowywane pliki profilów optymalizacji. Na komputerze z jednym rdzeniem metoda jest ignorowana. |
| StartProfile(String) |
Uruchamia kompilację just in time (JIT) metod, które zostały wcześniej zarejestrowane w określonym pliku profilu w wątku w tle. Rozpoczyna proces rejestrowania bieżącego użycia metody, który później zastępuje określony plik profilu. |