Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con función timer

Estas en el tema de Problema con función timer en el foro de C/C++ en Foros del Web. Hola a todos!! A ver, estoy haciendo mi proyecto de fin de carrera en visual c++ y me interesaría saber el tiempo de ejecución de ...
  #1 (permalink)  
Antiguo 19/02/2011, 10:21
 
Fecha de Ingreso: noviembre-2008
Mensajes: 59
Antigüedad: 15 años, 4 meses
Puntos: 1
Problema con función timer

Hola a todos!!

A ver, estoy haciendo mi proyecto de fin de carrera en visual c++ y me interesaría saber el tiempo de ejecución de un bloque de mi programa, ya que he optimizado código escrito anteriormente, y quiero saber en qué manera repercute esto en la ejecución. Para ello he estado googleando un poco y he metido estas líneas en mi codigo:

Código:
clock_t start;
double diff;
start = clock();

//Bloque de código optimizado

diff = ( (double)clock() - (double)start ) / (double)CLOCKS_PER_SEC;
std::cout<<"printf: "<< diff <<'\n';
Haciendo un include de las siguientes librerías en mi fichero de cabecera:
Código:
#include <iostream>
#include <cstdio>
#include <ctime>
Bueno el tema es que no estoy seguro de lo qué hace la última línea de código, pero supuestamente el tiempo que ha tardado debería guardarse en la variable diff, ¿no es así? Bueno ejecuto con el debugger y esta variable constantemente toma el valor 0.00, ¿puede ser debido a que mi código tarda demasiado poco en ejecutar?

Agradezco cualquier posible explicacion, gracias de antemano
  #2 (permalink)  
Antiguo 19/02/2011, 17:31
Avatar de DataLore  
Fecha de Ingreso: junio-2008
Mensajes: 58
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Problema con función timer

Si lo ejecutás con el debugger y te detenés en un breakpoint en

Código:
diff = ( (double)clock() - (double)start ) / (double)CLOCKS_PER_SEC;
unos segundos y luego le das next step al debugger y diff te sigue dando 0 es claro que hay un error. Fijate de usar una alternativa a ese contador que estas usando.

Etiquetas: time
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:29.