Si está desarrollando en x86 o x64, ¿por qué no utiliza el contador de sellos de tiempo: RDTSC.
Será más confiable que las funciones de Ansi C como time() o clock() ya que RDTSC es una función atómica. El uso de funciones C para este propósito puede presentar problemas, ya que no se garantiza que el hilo en el que se ejecutan no se desconecte y, como resultado, el valor que devuelvan no será una descripción precisa del tiempo real de ejecución que se intenta medir. .
Con RDTSC puede medir mejor esto. Deberá convertir la cuenta de ticks en un formato de H: M: S de tiempo legible para el ser humano, que dependerá de la frecuencia de reloj del procesador, pero estará en google y estoy seguro de que encontrará ejemplos.
Sin embargo, incluso con RDTSC, incluirá la hora en que se interrumpió la ejecución del código, mientras que una mejor solución que el uso de tiempo()/reloj() si necesita una medición exacta tendrá que recurrir a un generador de perfiles instrumentará su código y lo tendrá en cuenta cuando su código no se esté ejecutando debido a cambios de contexto o lo que sea.
Un Profiler proporciona información estadística, que no es lo mismo que una medición real. –