Partager via


Quel est le coût de performances du suivi logiciel ?

En général, le coût de performances du suivi logiciel est très faible. Le code est réduit, les mémoires tampons sont gérées efficacement et les messages sont écrits au format binaire. En outre, la mise en forme des messages de suivi, qui est une perte de performances importante, est différée jusqu’à ce que l’utilisateur choisisse de mettre en forme et d’afficher les messages de trace.

Lorsque vous utilisez des macros de suivi de logiciels WPP pour ajouter un suivi logiciel à un pilote, il n’y a presque aucun coût de performances, sauf si le fournisseur est activé pour une session de suivi.

Les macros WPP s’élèvent à trois vérifications conditionnelles dans une instruction If du code de suivi logiciel. Ces vérifications empêchent la génération de messages de suivi, sauf si le fournisseur est activé. Les macros WPP génèrent du code sous la forme suivante :

If (WPP_CHECK_INIT && WPP_LEVEL_FLAGS_ENABLED) {
    Call trace_message_routine
}

Dans ce code généré, WPP_CHECK_INIT se compose d’une case activée conditionnelle. WPP_LEVEL_FLAGS_ENABLED se compose d’un case activée conditionnel, si vous n’avez qu’un seul filtre de niveau ou d’indicateur. Sinon, WPP_LEVEL_FLAGS_ENABLED se compose de deux vérifications conditionnelles.

Pour plus d’informations sur l’exclusion des WPP_CHECK_INIT case activée pour de meilleures performances, consultez Puis-je optimiser les vérifications conditionnelles produites par les macros WPP avant le suivi ?.

Notes

Il peut y avoir des coûts de performances si vous utilisez des méthodes autres que le suivi logiciel WPP pour implémenter le suivi logiciel dans votre pilote. L’effet dépend de la méthode d’implémentation.