Tempo

2 respostas
A

Olá.
Gostaria de saber alguma função que conte o tempo que um programa demora pra executar uma equação matemática.

Assim…tenho essa função para achar a raiz de uma equação:

public void Raiz()

{

double ERRO = 0.0000001;
do
    {
        x = (Fx(b) * a - Fx(a) * b) / (Fx(b) - Fx(a));
        if (Fx(x) * Fx(a) < 0)
            b = x;
        else a = x;
    }while( (b-a) >= ERRO );
    
    System.out.printf("\nO valor de x é = %f", x);
}

gostaria de saber o tempo que meu programa demora pra achar o valor de “x”.

2 Respostas

J

Antes de fazer o calculo pega a hora do sistema em milisegundos com

long a = System.currentTimeMillis();

depois do calculo do captura novamente

long b = System.currentTimeMillis();

e faz a subtração (b-a) ai tu terá o tempo em milisegundos do calculo.

ViniGodoy

Se você quiser saber o tempo de diversos métodos em sua aplicação, para identificar o mais lento, existem ferramentas que fazem isso automaticamente, chamadas “profilers”.

O Eclipse possui o projeto TPTP (Test and Profiling Tools Project), com um ótimo profiler (mas um tanto difícil de instalar).

O Netbeans também possui um profiler, que pode ser baixado diretamente da página principal.

Se você não usa esses IDEs, ainda tem um profiler chamado EJP, bem bacaninha e totalmente independente.

Criado 13 de março de 2007
Ultima resposta 13 de mar. de 2007
Respostas 2
Participantes 3