Temporización de alta precisión en el espacio de usuario en Linux

Ahora mismo, estoy tratando de determinar un método para medir el tiempo que tomará una función en particular (algo así como pthread_create). Ahora, por supuesto, este tipo de funciones están extremadamente optimizadas para tomar el menor tiempo posible; tan poco, de hecho, que mi temporizador que usa gettimeofday en el espacio de usuario que mide en microsegundos no puede medir adecuadamente nada.

Normalmente, si pudiera meterme con el kernel, usaría algo como get_cycles para medir el número bruto de ciclos como una métrica de rendimiento. Sin embargo, no he encontrado una manera de hacer esto en el espacio de usuario. ¿Hay alguna forma de usar get_cycles (o un equivalente) o algún otro temporizador de mayor precisión que pueda usar en el espacio de usuario para medir funciones extremadamente rápidas?

Respuestas a la pregunta(4)

Su respuesta a la pregunta