Determinar el tiempo pasado entre dos puntos de un programa

2330 vistas

System.currentTimeMillis()

Usando el métodoestático currentTimeMillis() de la clase System. Este método devuelve un long que representa la diferencia de tiempo entre el día 1 de enero de 1970 a media noche y el tiempo del sistema en el momento de ejecutar la instrucción. Esta diferencia se expresa en función de la unidad de tiempo del SO (el milisegundo).



java
  1. long start = System.currentTimeMillis();
  2. // ... instrucciones a cronometrar
  3. long end = System.currentTimeMillis() - start;
  4. System.out.println(end);



System.nanoTime()

Usando el método estático nanoTime() de la clase System. Este método sólo está disponible a partir de la versión 5.0 del JDK. Devuelve un long que representa el valor del tiempo en nanosegundos.



java
  1. long start = System.nanoTime();
  2. // ... instrucciones a cronometrar
  3. long end = System.nanoTime() - start;
  4. System.out.println(end);



Este valor temporal no está ligado a ningún tiempo universal, por lo que sólo deberÃa de usarse para diferencias de tiempo. La precisión es del ordre de nanosegundos.