Freigeben über


ProfileOptimization Klasse

Definition

Verbessert die Startleistung von Anwendungsdomänen in Anwendungen, die den Just-in-Time-Compiler (JIT) erfordern, indem eine Hintergrundkompilierung von Methoden ausgeführt wird, die wahrscheinlich ausgeführt werden, basierend auf Profilen, die während früherer Kompilierungen erstellt wurden.

public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
Vererbung
ProfileOptimization

Hinweise

Hinweis

  • Für die Profiloptimierung ist ein Multicore-Computer erforderlich. Die Methoden werden auf anderen Computern ignoriert.
  • Diese API reduziert die Startzeit. Diese Verbesserungen ergänzen sich zur dynamischen profilgeführten Optimierung (Dynamic PGO), die die Laufzeitoptimierung basierend auf beobachteten Ausführungsmustern verbessert.

Jedes Mal, wenn Sie die Profiloptimierung in einer Anwendungsdomäne initiieren, wird das Profil gelesen, das während der vorherigen Verwendung erstellt wurde. Die Informationen im Profil werden verwendet, um die Kompilierung im Hintergrund zu leiten, indem die Methoden identifiziert werden, die wahrscheinlich während des Starts ausgeführt werden. Auf Multicore-Computern erhöht dies die Wahrscheinlichkeit, dass eine Methode bereits nach der Erforderlichen kompiliert wird, damit der Hauptanwendungsthread nicht den JIT-Compiler aufrufen muss.

Die Profildatei wird bei jeder Verwendung überschrieben, sodass sie immer die neuesten Informationen enthält, welche Methoden beim Start verwendet werden.

Optimierungsprofile sind nicht auf den Start der Anwendungsdomäne beschränkt. Sie können für jede Aktivität verwendet werden, die eine starke Verwendung des JIT-Compilers erfordert. Sie können mehrere Profile für eine Anwendungsdomäne verwalten, sodass jede solche Aktivität über ein eigenes Profil verfügt.

Um Optimierungsprofile in einer Anwendungsdomäne zu verwenden, müssen Sie die SetProfileRoot Methode aufrufen und den Ordner angeben, in dem Profile gespeichert sind. Der Ordner muss bereits vorhanden sein. Um mit der Verwendung eines Profils zu beginnen, rufen Sie die StartProfile Methode auf, und geben Sie den Dateinamen des Profils an. Wenn die Datei zuvor nicht aufgezeichnet wurde, wird sie bei der ersten Verwendung erstellt. Es gibt keinen Leistungsvorteil, wenn ein Profil zum ersten Mal erstellt wird.

Die Profiloptimierung ändert nicht die Reihenfolge, in der Methoden ausgeführt werden. Methoden werden nicht im Hintergrundthread ausgeführt; wenn eine Methode kompiliert, aber nie aufgerufen wird, wird sie einfach nicht verwendet. Wenn eine Profildatei beschädigt ist oder nicht in den angegebenen Ordner geschrieben werden kann (z. B. weil der Ordner nicht vorhanden ist), wird die Programmausführung ohne Optimierungsprofil fortgesetzt.

Methoden

Name Beschreibung
SetProfileRoot(String)

Aktiviert die Optimierungsprofilerstellung für die aktuelle Anwendungsdomäne und legt den Ordner fest, in dem die Optimierungsprofildateien gespeichert werden. Auf einem Einzelkerncomputer wird die Methode ignoriert.

StartProfile(String)

Startet die Just-in-Time-Kompilierung (JIT) der Methoden, die zuvor in der angegebenen Profildatei aufgezeichnet wurden, in einem Hintergrundthread. Startet den Prozess der Aufzeichnung der aktuellen Methode, die später die angegebene Profildatei überschreibt.

Gilt für: