ProfileOptimization Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Verbetert de opstartprestaties van toepassingsdomeinen in toepassingen waarvoor de Just-In-Time-compiler (JIT) is vereist door achtergrondcompilatie uit te voeren van methoden die waarschijnlijk worden uitgevoerd, op basis van profielen die tijdens eerdere compilaties zijn gemaakt.
public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
- Overname
-
ProfileOptimization
Opmerkingen
Note
- Voor profieloptimalisatie is een multicorecomputer vereist. De methoden worden genegeerd op andere computers.
- Deze API vermindert de opstarttijd. Deze verbeteringen zijn een aanvulling op dynamische profielgestuurde optimalisatie (Dynamische PGO), waardoor runtime-optimalisatie wordt verbeterd op basis van waargenomen uitvoeringspatronen.
Telkens wanneer u profieloptimalisatie initieert in een toepassingsdomein, wordt het profiel dat tijdens het vorige gebruik is gemaakt, gelezen. De informatie in het profiel wordt gebruikt om achtergrondcompilatie te begeleiden door de methoden te identificeren die waarschijnlijk worden uitgevoerd tijdens het opstarten. Op computers met meerdere kernen vergroot dit de kans dat een methode al is gecompileerd op het moment dat deze nodig is, zodat de hoofdtoepassingsthread de JIT-compiler niet hoeft aan te roepen.
Het profielbestand wordt overschreven voor elk gebruik, dus het bevat altijd de meest recente informatie over welke methoden worden gebruikt tijdens het opstarten.
Optimalisatieprofielen zijn niet beperkt tot het opstarten van het toepassingsdomein. Ze kunnen worden gebruikt voor elke activiteit waarvoor intensief gebruik van de JIT-compiler is vereist. U kunt meerdere profielen voor een toepassingsdomein onderhouden, zodat elke activiteit een eigen profiel heeft.
Als u optimalisatieprofielen in een toepassingsdomein wilt gebruiken, moet u de SetProfileRoot methode aanroepen en de map opgeven waarin profielen worden opgeslagen. De map moet al bestaan. Als u een profiel wilt gaan gebruiken, roept u de methode aan StartProfile en geeft u de bestandsnaam van het profiel op. Als het bestand niet eerder is vastgelegd, wordt het gemaakt bij eerste gebruik. Er is geen prestatievoordeel wanneer een profiel voor het eerst wordt gemaakt.
Bij profieloptimalisatie wordt de volgorde waarin methoden worden uitgevoerd, niet gewijzigd. Methoden worden niet uitgevoerd op de achtergrondthread; als een methode wordt gecompileerd maar nooit wordt aangeroepen, wordt deze gewoon niet gebruikt. Als een profielbestand beschadigd is of niet naar de opgegeven map kan worden geschreven (bijvoorbeeld omdat de map niet bestaat), wordt de uitvoering van het programma voortgezet zonder optimalisatieprofilering.
Methoden
| Name | Description |
|---|---|
| SetProfileRoot(String) |
Maakt optimalisatieprofilering mogelijk voor het huidige toepassingsdomein en stelt de map in waarin de optimalisatieprofielbestanden worden opgeslagen. Op een computer met één kern wordt de methode genegeerd. |
| StartProfile(String) |
Begint Just-In-Time -compilatie van de methoden die eerder zijn vastgelegd in het opgegeven profielbestand, op een achtergrondthread. Hiermee start u het proces voor het vastleggen van het huidige methodegebruik, dat later het opgegeven profielbestand overschrijft. |