Tempo de execução

4 respostas
D

Olá!

Tenho uma matriz 900x900 carregada com 0 e 1. Quero medir o tempo de execução do loop para somar todos os campos da matriz. Como faço isso? Utilizando Date tenho respostas em milissegundos e este é um tempo muito longo pois não mostra diferença entre uma matriz 900x900 e uma 800x800.

O código que utilizei foi

//pega o tempo em milissegundos em que o objeto foi instanciado.

Date tempoInicial = new Date();

System.out.println(tempoInicial.getTime());

//…código que faz a soma dos elementos da matriz

Date tempoFinal = new Date();
System.out.println(tempoFinal.getTime());

Daí faço a subtração dos tempos… mas não tenho precisão…
Falow :grin:

4 Respostas

P

Tente medir nanossegundos, então :-p

long tmpInicial = System.nanoTime();

//Seu programa......
long diferenca = System.nanoTime() - tmpInicial;
System.out.println ("Tempo de execuação: " + (diferenca/1000000f) + " ms"  );
D

Valeu Paulo!!

Abraço!

S

Legal, não sabia que dava pra pegar o tempo numa unidade menor que milisegundo.

C

Isso foi introduzido no java 5, ou 1.5 se preferir.

Portanto, lembrem-se, isso so vai rodar em uma jre 1.5!

Falow!

Criado 24 de junho de 2005
Ultima resposta 28 de jun. de 2005
Respostas 4
Participantes 4