Mesurer facilement le temps écoulé
Question :
Lors de la mesure du temps écoulé dans un programme utilisant time(), pourquoi les valeurs avant et après pourraient-elles rester les mêmes ? pareil ?
Explication :
time() renvoie l'heure actuelle en secondes depuis l'époque. Si la période de temps à mesurer est courte, la différence entre les valeurs avant et après peut être trop petite pour être détectée.
Solution :
Pour mesurer avec précision une courte période périodes, envisagez d'utiliser des méthodes alternatives :
C Structured Time Mesure :
struct timeval startTV, endTV; gettimeofday(&startTV, NULL); // Execute time-consuming tasks gettimeofday(&endTV, NULL); timersub(&endTV, &startTV, &diff); printf("**time taken = %ld %ld\n", diff.tv_sec, diff.tv_usec);
Mesure du temps de précision de style C 11 :
#include <chrono> std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now(); // Execute time-consuming tasks std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now(); std::cout << "Time difference = " << std::chrono::duration_cast<std::chrono::microseconds>(end - begin).count() << "[µs]" << std::endl; std::cout << "Time difference = " << std::chrono::duration_cast<std::chrono::nanoseconds>(end - begin).count() << "[ns]" << std::endl;
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!