GNU/Linux >> Tutoriels Linux >  >> Linux

clock_gettime() est-il adéquat pour une synchronisation inférieure à la microseconde ?

Non. Vous devrez utiliser un code spécifique à la plate-forme pour le faire. Sur x86 et x86-64, vous pouvez utiliser 'rdtsc' pour lire le compteur d'horodatage.

Portez simplement l'assembly rdtsc que vous utilisez.

__inline__ uint64_t rdtsc(void) {
  uint32_t lo, hi;
  __asm__ __volatile__ (      // serialize
  "xorl %%eax,%%eax \n        cpuid"
  ::: "%rax", "%rbx", "%rcx", "%rdx");
  /* We cannot use "=A", since this would use %rax on x86_64 and return only the lower 32bits of the TSC */
  __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi));
  return (uint64_t)hi << 32 | lo;
}

J'ai besoin d'un minuteur haute résolution pour le profileur intégré dans la version Linux de notre application. Notre profileur mesure des étendues aussi petites que des fonctions individuelles, il a donc besoin d'une précision de minuterie supérieure à 25 nanosecondes.

Avez-vous pensé à oprofile ou perf ? Vous pouvez utiliser le matériel du compteur de performances sur votre processeur pour obtenir des données de profilage sans ajouter d'instrumentation au code lui-même. Vous pouvez voir les données par fonction, ou même par ligne de code. Le "seul" inconvénient est qu'il ne mesurera pas le temps d'horloge murale consommé, il mesurera le temps CPU consommé, il n'est donc pas approprié pour toutes les enquêtes.


Linux
  1. 5 conseils pour vous aider à vous préparer aux examens de certification technique

  2. Linux Sleep Command - délai d'une durée spécifiée

  3. Estimer le temps ou le travail restant pour terminer pour Rsync ?

  4. Kalendar - Une application de calendrier minimale pour une gestion efficace du temps

  5. Formater la date et l'heure pour le script ou la variable du shell Linux

Cronopete - Un clone de Time Machine d'Apple pour Linux

Comment exécuter une commande pendant une durée spécifique sous Linux

Top 5 des logiciels de suivi du temps pour Linux

Gestion du temps :outils et stratégies indispensables pour les administrateurs système

Comment configurer votre Raspberry Pi OS pour l'utiliser pour la première fois

Les 20 meilleurs logiciels de suivi du temps pour Linux Desktop