Maison > développement back-end > C++ > Comment puis-je mesurer avec précision le temps d'exécution des extraits de code C courts ?

Comment puis-je mesurer avec précision le temps d'exécution des extraits de code C courts ?

Linda Hamilton
Libérer: 2024-12-03 00:42:10
original
207 Les gens l'ont consulté

How Can I Accurately Measure the Execution Time of Short C   Code Snippets?

Calcul du temps d'exécution des extraits de code C avec précision

Déterminer le temps d'exécution précis des extraits de code en C est essentiel pour l'analyse et l'optimisation des performances. Cependant, la fonction clock() standard peut ne pas suffire à mesurer de brefs segments de code, renvoyant souvent « 0 seconde ».

Pour remédier à cette limitation, une approche plus précise consiste à utiliser la fonction GetTimeMs64(), qui mesure temps écoulé en millisecondes depuis l'époque UNIX, quelle que soit la plateforme (Windows ou Linux).

Mise en œuvre de GetTimeMs64()

#include <ctime>
#include <chrono>

uint64_t GetTimeMs64() {
    return std::chrono::duration_cast<std::chrono::milliseconds>(
        std::chrono::system_clock::now().time_since_epoch()
    ).count();
}
Copier après la connexion

GetTimeMs64() offre un haut niveau de précision, avec une granularité de 1 milliseconde sur la plupart des plateformes.

Utilisation

Pour calculer le temps d'exécution d'un extrait de code, suivez ces étapes :

uint64_t startTime = GetTimeMs64();
// Execute the code snippet
uint64_t endTime = GetTimeMs64();
double executionTime = static_cast<double>(endTime - startTime) / 1000.0;
Copier après la connexion

La variable exécutionTime contient désormais la durée de l'extrait de code en quelques secondes, avec une grande précision.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal