ProfileOptimization Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Migliora le prestazioni di avvio dei domini applicazione nelle applicazioni che richiedono il compilatore JIT (Just-In-Time) eseguendo la compilazione in background di metodi che è probabile che vengano eseguiti, in base ai profili creati durante le compilazioni precedenti.
public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
- Ereditarietà
-
ProfileOptimization
Commenti
Annotazioni
- L'ottimizzazione del profilo richiede un computer multicore. I metodi vengono ignorati in altri computer.
- Questa API riduce il tempo di avvio. Questi miglioramenti sono complementari all'ottimizzazione dinamica pgo (PGO dinamica) che migliora l'ottimizzazione del runtime in base ai modelli di esecuzione osservati.
Ogni volta che si avvia l'ottimizzazione del profilo in un dominio applicazione, viene letto il profilo creato durante l'uso precedente. Le informazioni nel profilo vengono usate per guidare la compilazione in background identificando i metodi più probabili da eseguire durante l'avvio. Nei computer multicore questo aumenta le probabilità che un metodo sia già compilato dal momento in cui è necessario in modo che il thread dell'applicazione principale non deve chiamare il compilatore JIT.
Il file di profilo viene sovrascritto in ogni utilizzo, pertanto contiene sempre le informazioni più recenti sui metodi usati durante l'avvio.
I profili di ottimizzazione non sono limitati all'avvio del dominio applicazione. Possono essere usati per qualsiasi attività che richiede un uso elevato del compilatore JIT. È possibile gestire più profili per un dominio applicazione in modo che ogni attività abbia un proprio profilo.
Per usare i profili di ottimizzazione in un dominio applicazione, è necessario chiamare il SetProfileRoot metodo e specificare la cartella in cui sono archiviati i profili. La cartella deve già esistere. Per iniziare a usare un profilo, chiamare il StartProfile metodo e specificare il nome file del profilo. Se il file non è stato registrato in precedenza, viene creato al primo utilizzo. Non esiste alcun vantaggio per le prestazioni la prima volta che viene creato un profilo.
L'ottimizzazione del profilo non modifica l'ordine in cui vengono eseguiti i metodi. I metodi non vengono eseguiti nel thread in background; se un metodo viene compilato ma mai chiamato, non viene semplicemente usato. Se un file di profilo è danneggiato o non può essere scritto nella cartella specificata, ad esempio perché la cartella non esiste, l'esecuzione del programma continua senza profilatura di ottimizzazione.
Metodi
| Nome | Descrizione |
|---|---|
| SetProfileRoot(String) |
Abilita la profilatura dell'ottimizzazione per il dominio applicazione corrente e imposta la cartella in cui sono archiviati i file del profilo di ottimizzazione. In un computer a core singolo il metodo viene ignorato. |
| StartProfile(String) |
Avvia la compilazione JIT (Just-In-Time) dei metodi precedentemente registrati nel file di profilo specificato, in un thread in background. Avvia il processo di registrazione dell'utilizzo del metodo corrente, che successivamente sovrascrive il file di profilo specificato. |