Crear un cronómetro

Java es uno de los lenguajes de programación más utilizados o por lo menos de los mas famosos. Una de sus debilidades es la velocidad de ejecución (que ha ido mejorandose) y el consumo de memoria RAM,

Para poder realizar los famosos "benchmarks" lo que podemos medir es el tiempo de ejecución, esto lo podemos realizar a través de una clase que simulará un cronómetro.

public class Stopwatch {
private long startTime = -1;
private long stopTime = -1;
private boolean running = false;

public Stopwatch start(){
startTime = System.currentTimeMillis();
running = true;
return this;
}

public Stopwatch stop(){
stopTime = System.currentTimeMillis();
running = false;
return this;
}

public Stopwatch reset(){
startTime = -1;
stopTime = -1;
running = false;
return this;
}

public long getElapsedTime(){
if(startTime == -1)
return 0;
else if(running)
return System.currentTimeMillis() - startTime;
else
return stopTime - startTime;
}
}


Para poder utilizar esta clase sólo debemos crear una instancia, y llamar a los métodos necesarios.

Ejemplo:


public static void main(String[] args){
Stopwatch timer = new Stopwatch().start();
long total = 0;
for(int i = 0; i Integer.MAX_VALUE; i++){
total +=i;
}
System.out.println(timer.getElapsedTime());
}

2 comments:

Unknown said...

No me funciona porque me tira un mensaje de error en la linea total+=i; QUE ES???

Gus said...

Está sumando i al valor que tiene total, verifica que no estes escribiendo un espacio entre el signo de "más" y el de "igual"

Post a Comment