Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

algoritmo para medir tiempo de respuesta

Estas en el tema de algoritmo para medir tiempo de respuesta en el foro de Visual Basic clásico en Foros del Web. hola espero que puedan ayudarme necesito que por favor me ayuden con el algoritmo que me permita obtenerel tiempo de ejecucion de otro algoritmo cualquiera ...
  #1 (permalink)  
Antiguo 08/03/2006, 08:27
Avatar de edel_junior  
Fecha de Ingreso: julio-2005
Mensajes: 40
Antigüedad: 18 años, 9 meses
Puntos: 0
algoritmo para medir tiempo de respuesta

hola
espero que puedan ayudarme necesito que por favor me ayuden con el algoritmo que me permita obtenerel tiempo de ejecucion de otro algoritmo cualquiera codificado en c++ o visual basic. osea que calcule el tiempo de respuest que tarda el procesador en resolver otro algoritmo cualquiera .
gracias
salu2
__________________
Enseñar no es una función vital,
porque no tienen el fin en sí misma;la función vital es aprender.
  #2 (permalink)  
Antiguo 18/03/2006, 20:36
 
Fecha de Ingreso: octubre-2005
Ubicación: Montevideo, Uruguay
Mensajes: 14
Antigüedad: 18 años, 7 meses
Puntos: 0
Buscate el API de windows getTickCount(), este te da un tiempo en milisegundos a partir de no me acuerdo que cosa.

Entonces tu harias en el instante anterior a ejecutar tu algoritmo:
int tiempoInicio = GetTickCount();
Esto toma el tiempo inicial.
En el instante que termina tu algoritmo haces:

GetTickCount() - tiempoInicio; esto te dara el tiempo transcurrido en la ejecucion de tu algoritmo en milisegundos.
  #3 (permalink)  
Antiguo 19/03/2006, 06:43
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Cita:
Iniciado por alvmet
Buscate el API de windows getTickCount(), este te da un tiempo en milisegundos a partir de no me acuerdo que cosa.

Entonces tu harias en el instante anterior a ejecutar tu algoritmo:
int tiempoInicio = GetTickCount();
Esto toma el tiempo inicial.
En el instante que termina tu algoritmo haces:

GetTickCount() - tiempoInicio; esto te dara el tiempo transcurrido en la ejecucion de tu algoritmo en milisegundos.
No es muy rentable y real eso...

No voy a hacerlo muy extenso, pero quiero explicar un poco el tema..

El sistema operativo recive las llamadas de los codigos de todos los software que se estan ejecutando en ese momento.
Y envia sentencias simples al microprocesador para que el las ejecute.

Pero la funcion principal del SO, es la de ordenar que "codigo" entra primero en la cola de espera.

COn esto quiero recir que...
Si activas el GetTickCount un instante antes del algoritmo.
Cuando termine ese algoritmo, puede que el microprocesador haya mandado al micro otras sentencias de otros softwares que se ejecutan en la pc, y en ultimo lugar el GetTickCount, ya que es menos importante.
Por eso no seria el tiempo real.

Aparte, tengan en cuenta que el micro procesa en nano segundos, que es una cosa asi como (pura fruta) 1.000.000 de veces una milesima de segundo. Y como el Get trabaja con milisegundos, te tira PURA FRUTA, es decir, te redondea mucho.

NO SE SI SE ENTENDIO LO QUE DIJE.
Espero que si ;)

Un ejemplo clasico de espera de procesos por parte del SO al micro es el siguiente.
En una PC medio vieja.
Ponen el winamp y ponen un tema.
Y despues ponen para desempaquetar un .zip.
Es mas que seguro que el tema comienza a sonar muy mal.
¿por que?
Por que el SO, ve como mas importante descomprimir el archivo, que reprocudicr un MP3, y como el micro es lenteja, se nota la diferencia.


FIN
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:58.