Tiempo de ejecución en Eclipse

Iniciado por Aikanáro Anário, 15 Diciembre 2011, 04:36 AM

0 Miembros y 1 Visitante están viendo este tema.

Aikanáro Anário

Si no mal recuerdo eclipse dice el tiempo de ejecución que dura un programa pero parece que me he puesto a tocar algo y ahora no lo presenta o tal vez nunca lo presentó y yo me hice ilusiones xD. Alguien que me saque de la duda si se puede poner ¿cómo lo hago?
Lo que faltaba en internet: http://binar10s.blogspot.com/

Proteus1989

Yo no he visto que lo haga...
Como yo calculo eso es con la función System.nanoTime();
Pones una al principio del código y lo guardas en en long y al final del cógido un print de System.nanoTime() - primerTiempo;

Si no quieres tanta precisión también tienes la System.currentTimeMillis().

Y si estás en linux en el interprete de comandos escribe: time java........

Aikanáro Anário

Bueno, el problema es que lo que quiero calcular en específico es cuanto dura un método ejecutándose. Porque el programa pide un número, con ese número entonces hace las operaciones, lo que quiero calcular es cuanto dura la operación, solamente la operación. Porque puede ser que el usuario dure hasta minutos para entrar un numero o depende de la velocidad de tipeo ¿el comando time me da tres tiempos, cuál de ellos me sirve para lo que quiero? ¿o podría hacerlo como dices con el tiempo del sistema al principio del método y al final del mismo?
Lo que faltaba en internet: http://binar10s.blogspot.com/

1mpuls0

Hola.
Se puede hacer con los métodos que ya te mencionaron, por ejemplo.

Código (java) [Seleccionar]

public class TiempoEjecucion{
public static void main(String args[]){
new TiempoEjecucion();
}

public TiempoEjecucion(){
int numero=10; //Aquí ingresas el número
long tiempoInicio=System.currentTimeMillis(); //Aquí se toma el tiempo de incio despues de haber ingresado el numero
ejecutaProceso(); //Aquí el método a ejecutar
long tiempoFinal=System.currentTimeMillis();
long tiempoTotal=tiempoFinal-tiempoInicio;
System.out.println("Tiempo de ejecucion "+tiempoTotal+" milisegundos");
}

public void ejecutaProceso(){
for (int i = 0; i < 1000; i++){
System.out.print(i);
}
}
}


Disculpa si hay errores de sintaxis, no lo he probado pero debe de funcionar.

Saludos.
abc

Proteus1989


Aikanáro Anário

Gracias gente, ya sé como lo voy hacer.
Lo que faltaba en internet: http://binar10s.blogspot.com/