C/Visual C - URENTE: Medir el tiempo en nanosegundos

 
Vista:

URENTE: Medir el tiempo en nanosegundos

Publicado por Rosa (3 intervenciones) el 11/04/2005 11:25:44
Hola.
Necesito saber lo que tarda una determinada rutina en nanosegundos.
No se como puedo hacerlo, he probado con el :

QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&start);
// RUTINA
QueryPerformanceCounter(&end);
Pero no se como hacer despues para poder imprimir por pantalla los resultados en forma de nanosegunsdos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URENTE: Medir el tiempo en nanosegundos

Publicado por fernando.gomez (1603 intervenciones) el 11/04/2005 19:03:32
Se me ocurre que puedas hacer el cálculo que quieres de una forma
similar:

clock_t t1;
clock_t t2;
double dDuration;

t1 = clock();
LlamaTuFuncion();
t2 = clock();
dDuration = (double)(t2 - t1) / CLOCKS_PER_SEC;

printf("Duración de procesamiento de LlamaTuFuncion es de: %5.10f
segundos.", dDuration");

Puedes sacar la relación de a cuánto equivale un clock_t con la relación
descrita en dDuration. Esta variable te va a regresar el valor transcurrido
en segundos. Claro, en el ejemplo anterior segurmanete te regresará
diezmilésimas o menos, por ello habilito hasta diez decimales. Ya sería
cuestión que lo adaptases a tus gustos.

Ahora bien, esto funciona en Visual C++, pero no estoy seguro de que la macro CLOCKS_PER_SEC sea estándar.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar