ProfileOptimization Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Förbättrar startprestandan för programdomäner i program som kräver JIT-kompilatorn (just-in-time) genom att utföra bakgrundskompilering av metoder som sannolikt kommer att köras, baserat på profiler som skapats under tidigare kompileringar.
public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
- Arv
-
ProfileOptimization
Kommentarer
Note
- Profiloptimering kräver en dator med flera kärnor. Metoderna ignoreras på andra datorer.
- Det här API:et minskar starttiden. Dessa förbättringar kompletterar dynamisk profilstyrd optimering (dynamisk PGO) som förbättrar körningsoptimeringen baserat på observerade körningsmönster.
Varje gång du initierar profiloptimering i en programdomän läss den profil som skapades under den tidigare användningen. Informationen i profilen används för att vägleda bakgrundskompilering genom att identifiera de metoder som mest sannolikt kommer att köras under starten. På datorer med flera kärnor ökar risken för att en metod redan kompileras när den behövs så att huvudprogramtråden inte behöver anropa JIT-kompilatorn.
Profilfilen skrivs över vid varje användning, så den innehåller alltid den senaste informationen om vilka metoder som används vid start.
Optimeringsprofiler är inte begränsade till start av programdomäner. De kan användas för alla aktiviteter som kräver tung användning av JIT-kompilatorn. Du kan underhålla flera profiler för en programdomän så att varje sådan aktivitet har en egen profil.
Om du vill använda optimeringsprofiler i en programdomän måste du anropa SetProfileRoot metoden och ange den mapp där profiler lagras. Mappen måste redan finnas. Om du vill börja använda en profil anropar du StartProfile metoden och anger profilens filnamn. Om filen inte har registrerats tidigare skapas den vid första användningen. Det finns ingen prestandaförmån första gången en profil skapas.
Profiloptimering ändrar inte i vilken ordning metoderna körs. Metoder körs inte i bakgrundstråden. Om en metod kompileras men aldrig anropas används den helt enkelt inte. Om en profilfil är skadad eller inte kan skrivas till den angivna mappen (till exempel eftersom mappen inte finns) fortsätter programkörningen utan optimeringsprofilering.
Metoder
| Name | Description |
|---|---|
| SetProfileRoot(String) |
Aktiverar optimeringsprofilering för den aktuella programdomänen och anger mappen där optimeringsprofilfilerna lagras. På en dator med en kärna ignoreras metoden. |
| StartProfile(String) |
Startar JIT-kompilering (just-in-time) av de metoder som tidigare spelades in i den angivna profilfilen i en bakgrundstråd. Startar processen med att registrera aktuell metodanvändning, som senare skriver över den angivna profilfilen. |