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 Multicore-Computer. Die Methoden werden auf anderen Computern ignoriert.

Jedes Mal, wenn Sie die Profiloptimierung in einer Anwendungsdomäne initiieren, wird das profil, das während der vorherigen Verwendung erstellt wurde, gelesen. Die Informationen im Profil werden verwendet, um die Hintergrundkompilierung zu führen, indem die Methoden identifiziert werden, die während des Starts am wahrscheinlichsten ausgeführt werden. Auf Multicore-Computern erhöht dies die Chancen, dass eine Methode bereits zum Zeitpunkt der Kompilierung erstellt wird, sodass der Hauptanwendungsthread 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 während des Starts verwendet werden.

Optimierungsprofile sind nicht auf den Start der Anwendungsdomäne beschränkt. Sie können für alle Aktivitäten verwendet werden, die eine schwere Verwendung des JIT-Compilers erfordern. Sie können mehrere Profile für eine Anwendungsdomäne verwalten, damit 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 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 auf 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

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