Maison > développement back-end > C++ > Comment obtenir un timing de haute précision en C sous Linux ?

Comment obtenir un timing de haute précision en C sous Linux ?

DDD
Libérer: 2024-11-09 17:20:02
original
1056 Les gens l'ont consulté

How to Achieve High-Precision Timing in C   on Linux?

Synchronisation haute précision en C sous Linux

QueryPerformanceCounter de mmsystem.h fournit un minuteur haute résolution fiable sous Windows. Pour Linux, envisagez les alternatives suivantes :

  • Boost ptime :Une fonction de bibliothèque Boost qui renvoie des horodatages à la nanoseconde près.
  • POSIX clock_gettime() : Un appel système qui fournit des horodatages avec une précision variable en fonction du type d'horloge spécifié. Par exemple, CLOCK_MONOTONIC fournit un horodatage haute résolution à augmentation monotone.

Exemple de code utilisant ptime :

#include <iostream>
#include <boost/chrono/system_clocks.hpp>

using namespace std;
using namespace boost::chrono;

int main() {
  auto now = system_clock::now();
  nanoseconds ts = duration_cast<nanoseconds>(now - system_clock::from_time_t(0));
  
  cout << "Timestamp: " << ts.count() << " nanoseconds" << endl;
  
  return 0;
}
Copier après la connexion

Exemple de code utilisant clock_gettime ():

#include <iostream>
#include <time.h>

using namespace std;

int main() {
  timespec ts;
  
  clock_gettime(CLOCK_MONOTONIC, &ts);
  
  cout << "Timestamp: " << ts.tv_sec << " seconds, "
       << ts.tv_nsec << " nanoseconds" << endl;
  
  return 0;
}
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal