• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

soulbe

[Resolvido]Class Time em java

5 mensagens neste tópico

Boa tarde.

Alguém sabe como se usa a class Time em java?a minha ideia é saber o tempo que demora o meu algoritmo a ser executado e fazer várias comparações.

Agradeço desde já a quem me consehuir ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens esta função do System depois tens é de passar de millisegundos para segundos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A forma mais simples é usar a classe o método System.currentTimeMillis() e comparares o tempo antes e depois do teu algoritmo.

Mas esta forma é das mais falíveis que existem, se executares o teu programa 3 vezes seguidas apanhas tempos estremamente diferentes da realidade, dá para ter uma ideia mas não te fies no resultado.

Para teres resultados mais fiáveis podes executar um ciclo intensivo antes de contares o tempo pela primeira vez, executares o teu algoritmo e depois contares novamente o tempo, mas mesmo assim não será nada aproximado do que realmente acontece. Em java é muito complicado medir algoritmos simplemesmente contando o tempo. Tens factores como o tamanho da memória com que iniciaste a JVM, o facto de a JVM fazer cache dos teus resultados, o tempo de arranque da JVM, o número de processos que executam no teu PC.

Mas mesmo assim consguirás ter uma boa ideia se repetires várias vezes o ensaio.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que cheguei a uma solução. Usei:

Date startDate=new Date();

.

.

.

Date endDate=new Date();

Depois fiz getSeconds a cada data e subtrai o valor. Encontrei esta solução num forum da SUN.

Vou experimentar a que aconselharam e comparar.

Obrigado pela ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

LOL, isso é o mesmo que fazer

double start = System.currentTimeMillis();
(...)
double elapsed = start - System.currentTimeMillis();

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora