Dev - C++ - medir tiempo de ejecucion

 
Vista:

medir tiempo de ejecucion

Publicado por hawork (1 intervención) el 26/10/2006 14:39:25
Hola a todos,

Quiero poner en un programa en C++ un mensaje al final de la ejecución diciendo el tiempo que se ha empleado en unos cálculos. Probé con la función clock() de time.h usándola de este modo:

clock_t start = clock();
...
codigo
...
clock_t end = clock() - inicio;

Sin embargo siempre me daba 0.000000 segundos, cuando en realidad los cálculos duran un para de minutos.

Luego probé con la función time()

time(&start);
...
código
...
time (&end);
printf ("\n TIEMPO EMPLEADO: %f", difftime (end,start));

Sin embargo no me mostraba decimales y (en contra de lo que había leído) no me devolvía milisegundos sino segundos (comprobado con cronómetro de mano XD).

¿Alquien tiene idea de qué puedo estar haciendo mal o si hay alguna forma más fácil de hacer esto?

Por si sirve de algo, uso del Dev-Cpp y es una aplicación que se ejecuta en la consola de MS-DOS.

Gracias por adelantado
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:medir tiempo de ejecucion

Publicado por catalos (4 intervenciones) el 31/10/2006 06:41:25
aqui te dejo el ejemplo de pone el Borland, me funciono para Turbo C++ 3.0, asi que supongo que tambien funcione para Dev-C++

#include <time.h>
#include <stdio.h>
#include <dos.h>

int main(void)
{
clock_t start, end;
start = clock();

/* tus instrucciones aqui */

delay(2000);

/* fin de las instrucciones*/

end = clock();
printf("The time was: %f\n", (end - start) / CLK_TCK);

return 0;
}
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

RE:medir tiempo de ejecucion

Publicado por hola (1 intervención) el 01/10/2007 21:38:59
sigue las instrucciones dl c++ o habla con jhonny naranjo es un experto en ese programa
en [email protected]
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

RE:medir tiempo de ejecucion

Publicado por cleiver (1 intervención) el 14/04/2009 03:07:16
clock_t time = clock();
....
codigo
.....
time = (clock() - time)/1000; // para que de en segundos
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

RE:medir tiempo de ejecucion

Publicado por darkwolf (1 intervención) el 03/11/2009 18:04:45
Hola.

Yo he mirado por ahí y si usas Windows lo que te da mas precisión es la función QueryPerformanceCounter con una precisión de milisegundos.
Si quieres saber más sobre como usarla mira en esta página http://cmasomenos.blogspot.com/2008/03/medir-el-tiempo-de-una-rutina.html ,
en ella te explica los pros y los contras de las diferentes funciones de tiempo.
Saludos
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