Maison >développement back-end >C++ >Comment puis-je mesurer avec précision le temps écoulé dans mon code ?

Comment puis-je mesurer avec précision le temps écoulé dans mon code ?

DDD
DDDoriginal
2024-12-30 20:50:11642parcourir

How Can I Accurately Measure Elapsed Time in My Code?

Mesurez facilement le temps écoulé avec des techniques précises

Bien que time() puisse fournir une valeur de temps écoulé, sa granularité peut ne pas suffire pour des mesures précises sur des périodes plus courtes. Pour résoudre ce problème, envisagez d'utiliser des méthodes alternatives offrant plus de précision.

L'une de ces méthodes consiste à utiliser la fonction gettimeofday(). En capturant le temps avant et après les opérations qui vous intéressent, la différence entre les deux valeurs peut fournir une estimation plus précise. Cependant, la lecture du résultat peut nécessiter une certaine interprétation :

  • 0 26339 : Indique un temps écoulé de 26,339 millisecondes.
  • 4 45025 : Représente un temps écoulé de 4 secondes et 45.025 millisecondes.

Alternativement, C 11 et versions ultérieures offrent une approche pratique en utilisant . Le std::chrono::steady_clock fournit une horloge haute résolution capable de mesurer avec précision des intervalles de temps extrêmement petits.

#include <chrono>

// Measure time using `<chrono>`
std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now();
// Execute time-consuming operations
std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();

// Calculate and display elapsed time
std::chrono::duration<double, std::micro> duration_microseconds = end - begin;
std::chrono::duration<double, std::nano> duration_nanoseconds = end - begin;
std::cout << "Elapsed time in microseconds: " << duration_microseconds.count() << "\n";
std::cout << "Elapsed time in nanoseconds: " << duration_nanoseconds.count() << "\n";

En adoptant ces techniques améliorées, vous pouvez désormais mesurer avec précision le temps écoulé dans vos programmes, permettant un profilage plus précis et des optimisations de performances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn