Si vous développez sur x86 ou x64, pourquoi ne pas utiliser le Time Stamp Counter : RDTSC .
Il sera plus fiable que les fonctions Ansi C comme time() ou clock() car le RDTSC est une fonction atomique. L'utilisation de fonctions C à cette fin peut poser des problèmes car vous n'avez aucune garantie que le thread dans lequel elles sont exécutées ne sera pas interrompu et, par conséquent, la valeur qu'elles renvoient ne sera pas une description précise du temps d'exécution réel que vous essayez de mesurer.
Avec le RDTSC, vous pouvez mieux le mesurer. Vous devrez reconvertir le nombre de tics dans un format de temps lisible par l'homme, H:M:S, qui dépendra de la fréquence d'horloge du processeur, mais cherchez sur Google et je suis sûr que vous trouverez des exemples.
Cependant, même avec RDTSC, vous inclurez le temps où votre code a été retiré de l'exécution, bien que ce soit une meilleure solution que d'utiliser time()/clock() si vous avez besoin d'une mesure exacte, vous devrez vous tourner vers un profileur qui instrumentera votre code et prendra en compte les moments où votre code n'est pas réellement exécuté en raison de changements de contexte ou autre.