Como saber el tiempo que necesita una funcion en hacer su faena.

Previous topic - Next topic

mentalthink

Hola Compis (no se si alguno sobrevive aún)  =D, quería haceros una pregunta la he puesto en el foro Inglés, pero como mi inglés es realmente malo quizás no se entienda.
Bueno el asunto es:
Como puedo medir el tiempo que necesita una función o en su defecto todo el tiempo que necesita mi programa en ejecutarse, algo similar a lo que hace el comando TIME en Linux, o algo similar a Vlagrind.

Gracias como siempre por vuestro tiempo.
;)

erico

I think the profiler can get you there, but I don´t know how to use it. :-[

mentalthink

Hey Erico thanks (Sorry for the late reply)... yes another user told me the same like you, but I can't get working the Profiler (I'm under VMWare and I think using virtualization GLBasic some times do extrange Things).

Another way is using some function measuring the time of each function, in C or C++ is easy to do.

Thanks for your help  :booze: :booze:

hardyx

#3
GETTIMERALL() te da la hora en microsegundos desde el inicio del programa. Para saber el tiempo en un intervalo, solo tienes que restar los dos valores y convertirlo a la unidad que quieras (segundos, minutos, horas, ...).

Code (glbasic) Select

 timstart = GETTIMERALL()

 // codigo de tu juego aquí...
 timend = GETTIMERALL()
 interval = (timend - timstart) / 1000

 PRINT "Tiempo transcurrido: "+ interval + " segs", 0,0
 SHOWSCREEN

mentalthink

Pérdona hardyx que no entro como antes al foro... ando con C++ y me roba más tiempo que la leche.

Si lo que comentas ya lo he visto en algún libro de C++, pero me referia a cosas como valgrind que te da el tiempo o el debugger.
GLBasic tiene la opción de profiler, que me han comentado en el foro inglés que te saca los datos, pero a mi me da un error, no se si es porque uso GLbasic virtualizado en VMWare que va de maravilla, no se si es eso o un bug de GLBasic.

Gracias de todos modos y lo voy a probar a ver que tal.
Saludos y me alegro de verte por aquí , quedamos pocos soldados españoles en pie  =D =D =D =D