ProfileOptimization Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Améliore les performances de démarrage des domaines d’application dans les applications qui nécessitent le compilateur juste-à-temps (JIT) en effectuant une compilation en arrière-plan des méthodes susceptibles d’être exécutées, en fonction des profils créés lors des compilations précédentes.
public ref class ProfileOptimization abstract sealed
public static class ProfileOptimization
type ProfileOptimization = class
Public Class ProfileOptimization
- Héritage
-
ProfileOptimization
Remarques
Note
- L’optimisation des profils nécessite un ordinateur multicœur. Les méthodes sont ignorées sur d’autres ordinateurs.
- Cette API réduit le temps de démarrage. Ces améliorations sont complémentaires à l’optimisation dynamique guidée par profil (PGO dynamique) qui améliore l’optimisation du runtime en fonction des modèles d’exécution observés.
Chaque fois que vous lancez l’optimisation de profil dans un domaine d’application, le profil créé lors de l’utilisation précédente est lu. Les informations du profil sont utilisées pour guider la compilation en arrière-plan en identifiant les méthodes qui sont les plus susceptibles d’être exécutées au démarrage. Sur les ordinateurs multicœurs, cela augmente les chances qu’une méthode soit déjà compilée au moment où elle est nécessaire afin que le thread d’application principal n’ait pas besoin d’appeler le compilateur JIT.
Le fichier de profil est remplacé sur chaque utilisation. Il contient donc toujours les informations les plus récentes sur les méthodes utilisées au démarrage.
Les profils d’optimisation ne sont pas limités au démarrage du domaine d’application. Ils peuvent être utilisés pour n’importe quelle activité nécessitant une utilisation intensive du compilateur JIT. Vous pouvez gérer plusieurs profils pour un domaine d’application afin que chaque activité de ce type possède son propre profil.
Pour utiliser des profils d’optimisation dans un domaine d’application, vous devez appeler la SetProfileRoot méthode et spécifier le dossier dans lequel les profils sont stockés. Le dossier doit déjà exister. Pour commencer à utiliser un profil, appelez la StartProfile méthode et spécifiez le nom de fichier du profil. Si le fichier n’a pas été enregistré précédemment, il est créé lors de la première utilisation. Il n’existe aucun avantage en matière de performances la première fois qu’un profil est créé.
L’optimisation du profil ne modifie pas l’ordre dans lequel les méthodes sont exécutées. Les méthodes ne sont pas exécutées sur le thread d’arrière-plan ; si une méthode est compilée mais jamais appelée, elle n’est tout simplement pas utilisée. Si un fichier de profil est endommagé ou ne peut pas être écrit dans le dossier spécifié (par exemple, car le dossier n’existe pas), l’exécution du programme se poursuit sans profilage d’optimisation.
Méthodes
| Nom | Description |
|---|---|
| SetProfileRoot(String) |
Active le profilage d’optimisation pour le domaine d’application actuel et définit le dossier où sont stockés les fichiers de profil d’optimisation. Sur un ordinateur à cœur unique, la méthode est ignorée. |
| StartProfile(String) |
Démarre la compilation juste-à-temps (JIT) des méthodes précédemment enregistrées dans le fichier de profil spécifié, sur un thread d’arrière-plan. Démarre le processus d’enregistrement de la méthode actuelle, qui remplace ultérieurement le fichier de profil spécifié. |