Tiempo

19/05/2004 - 19:39 por Micky | Informe spam
Hola,

alguien sabe de alguna instrucción que me permita contar
el tiempo que tarda un trozo de código?

Grácias.

Preguntas similare

Leer las respuestas

#1 Isidro Muñoz
19/05/2004 - 21:03 | Informe spam
Usa esta api:

DWORD valor1 = GetTickCount(void);
...
código
...
DWORD valor2=GetTickCount(void);

valor2-valor1 son los milisegundos que han pasado.
Saludos
Isidro.



"Micky" escribió en el mensaje
news:f47b01c43dc8$33e9cb50$
Hola,

alguien sabe de alguna instrucción que me permita contar
el tiempo que tarda un trozo de código?

Grácias.
Respuesta Responder a este mensaje
#2 Rodrigo Corral [MVP]
20/05/2004 - 12:46 | Informe spam
La aproximación que propone Isidro tiene una pega, si la ejecución salta a
otro hilo entre la primera captura y la segunda de GetTickCount estaras
midiento el tiempo que tardan otros procesos tambien. Si necesitas esto para
comprobar cosas de rendimiento, asegurate de que cuando realices las pruebas
la carga de la maquina sea comparable.

Otra opción es utilizar un profiler como el Compuware Profiler Community
Edition que es gratuito y excelente.


Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net
Respuesta Responder a este mensaje
#3 Micky
22/05/2004 - 12:52 | Informe spam
Si el valor que me da es 0? es que tarda menos de
milisegundos i no es capaz de contarlo??


Usa esta api:

DWORD valor1 = GetTickCount(void);

código

DWORD valor2=GetTickCount(void);

valor2-valor1 son los milisegundos que han pasado.
Saludos
Isidro.



"Micky" escribió


en el mensaje
news:f47b01c43dc8$33e9cb50$
Hola,

alguien sabe de alguna instrucción que me permita contar
el tiempo que tarda un trozo de código?

Grácias.


.

Respuesta Responder a este mensaje
#4 Micky
27/05/2004 - 07:03 | Informe spam
En principio cuando necesito no entra en ningun proceso,
con el GetTickCount me iria bien, pero si la instruccion
es muy rapida puede contar el tiempo? es que creo que no
es capaz de contarlo ya que me da 0...no hay ninguna otra
intruccion?

La aproximación que propone Isidro tiene una pega, si la


ejecución salta a
otro hilo entre la primera captura y la segunda de


GetTickCount estaras
midiento el tiempo que tardan otros procesos tambien. Si


necesitas esto para
comprobar cosas de rendimiento, asegurate de que cuando


realices las pruebas
la carga de la maquina sea comparable.

Otra opción es utilizar un profiler como el Compuware


Profiler Community
Edition que es gratuito y excelente.


Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net


.

Respuesta Responder a este mensaje
#5 Sebastián Flores
07/06/2004 - 22:32 | Informe spam
El GetTickCount tarda un tiempo considerable en calcular los ms, en windows
2000 puede tener un error de +/-10ms. Asi que no creo 0 indique que tu
funcion tarde menos de 1 ms. Podrias probar poniendo un Sleep de 1000 en la
funcion que estas midiendo y listo.
Ahora bien, si estas midiendo en cuanto tiempo se ejecuta un while de 1 a
10000+ olvídalo, porque no creo que puedas obtener un tiempo > 0

Saludos.

"Micky" wrote in message
news:1356401c443a7$ea3ea530$
En principio cuando necesito no entra en ningun proceso,
con el GetTickCount me iria bien, pero si la instruccion
es muy rapida puede contar el tiempo? es que creo que no
es capaz de contarlo ya que me da 0...no hay ninguna otra
intruccion?

La aproximación que propone Isidro tiene una pega, si la


ejecución salta a
otro hilo entre la primera captura y la segunda de


GetTickCount estaras
midiento el tiempo que tardan otros procesos tambien. Si


necesitas esto para
comprobar cosas de rendimiento, asegurate de que cuando


realices las pruebas
la carga de la maquina sea comparable.

Otra opción es utilizar un profiler como el Compuware


Profiler Community
Edition que es gratuito y excelente.


Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida