Freigeben über


ProfileOptimization Klasse

Definition

Verbessert die Startleistung von Anwendungsdomänen in Anwendungen, die den JIT (Just-In-Time)-Compiler erfordern, indem sie eine Hintergrundkompilierung von Methoden, die wahrscheinlich ausgeführt werden, basierend auf den Profilen ausführen, die bei vorherigen Kompilierungen erstellt wurden.

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

Hinweise

Wichtig

Die Profiloptimierung erfordert einen Computer mit mehreren Kernen. Die Methoden werden auf anderen Computern ignoriert.

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 Hintergrundkompilierung zu steuern, indem die Methoden identifiziert werden, die während des Starts am wahrscheinlichsten ausgeführt werden. Auf Computern mit mehreren Kernen erhöht dies die Wahrscheinlichkeit, dass eine Methode bereits kompiliert wird, wenn sie benötigt wird, sodass der Standard Anwendungsthread nicht den JIT-Compiler aufrufen muss.

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

Optimierungsprofile sind nicht auf das Starten 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 dieser Aktivitäten ü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 werden. 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 Optimierungsprofilerstellung fortgesetzt.

Methoden

SetProfileRoot(String)

Aktiviert die Profilerstellung für die Optimierung der aktuellen Anwendungsdomäne und legt den Ordner ab, in dem die Optimierungsprofildateien gespeichert werden. Auf einem einkernigen Computer wird die Methode ignoriert.

StartProfile(String)

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

Gilt für: