Medir el tiempo de un algoritmo, como??

Hola

Soy novato en java, y me ustaria saber como poder medir el tiempo que tarda en ejecutarse algun algoritmo, por ejemplo alguna suma o cualquier conjunto de instrucciones.

Alguien que me heche una mano?
yo pondria un timer, o sea, antes del algoritmo inicializas y al final compruebas cuantos seg ha pasado. vamos, coges la hora de ese momento y al final del algoritmo la coges de nuevo y calculas la diferencia.


Un saludo.
Tengo la idea de usando la clase del calendario gregoriano y sustraer los segundos, asi como dices, justo despues de la llave del main y al final, pero la hacer la resta si seria confiable el resultado?, no se si me explico, pero creo que seria casi instantaneo, en fin boy a experimentar, despues de todo hechando a perder se aprende [+risas] .

Un saludo

EDITO, este es el codigo que he hecho, al hacer la resta de los tiempos simplemente me regresa un 0 [flipa]

----------------------------------------------------

import java.util.*;
public class Proto{
public static void main( String[ ] args){

long time=System.currentTimeMillis();
Date fecha=new Date(time);

int seg1=fecha.getSeconds();
System.out.print(seg1);


int i;
long x=4;
long n=30;


System.out.println(potencia(x,n));
int seg2=fecha.getSeconds();
System.out.println(seg1-seg2);



}
static long potencia(long x, long n){
long resultado = x;
for(int i=1;i<=n-1;i++)
{
resultado=resultado*x;
}
return resultado;
}
}

----------------------------------------------------
Si la precision es solo de segundos, muy muy largo tiene que ser tu bucle para que de al menos 1 XD
Necesitas algo que te de mas precision que el getSeconds XD
Lo he conseguido [oki]

Simplemente era llamar una funcion que capturara los milisegundos antes y despues del algoritmo, hacer la diferencia y mostrarlos en pantalla.

Un saludo [oki]
Uffffff, esto va a ser cercano al offtopic, pero es que hace poco estuve viendo, y aprobando, eficiencia algorítmica y... Esta eficiencia sirve para saber que algoritmo es más rápido, comparándolo con otros algorítmos, así que nada.

En netbeans me parece que hay una herramienta para saber que instrucciones tardan más y cosas así. No recuerdo el nombre, ni tampoco sé si es cierto, que lo digo así casi a boleo.

¡Que vaya bien!
5 respuestas