Share via


ProfileOptimization Classe

Definizione

Migliora le prestazioni di avvio dei domini applicazione in applicazioni che richiedono l'uso del compilatore JIT (Just-in-Time) eseguendo la compilazione in background dei metodi che potrebbero essere 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

Importante

L'ottimizzazione del profilo richiede un computer multicore. I metodi vengono ignorati in altri computer.

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 che probabilmente verranno eseguiti 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 per ogni utilizzo, quindi 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 richiederà 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 esistere già. 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 sul 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

SetProfileRoot(String)

Abilita la profilatura dell'ottimizzazione per il dominio dell'applicazione corrente e imposta la cartella in cui i file del profilo di ottimizzazione sono archiviati. In un computer a core singolo il metodo viene ignorato.

StartProfile(String)

Avvia la compilazione JIT dei metodi che erano stati registrati nel file del profilo specificato, in un thread in background. Avvia il processo di registrazione dell'utilizzo del metodo corrente che successivamente sovrascrive il file del profilo specificato.

Si applica a