Como medir o tempo gasto para executar uma tarefa

Olá galera, nesse post, vou mostrar como medir o tempo gasto para executar uma tarefa. E para tanto, mostrarei o funcionamento da classe Stopwatch.

A classe Stopwatch

A classe pública Stowatch, fornece alguns métodos para medir com um certa precisão, o tempo decorrido. Os principais métodos que utilizaremos serão:

Start

Inicia a medição. Utilização: objeto.Start()

Stop

Para a medição. Utilização: objeto.Stop()

Elapsed

Fornece o tempo decorrido entre o inicio e a parada. Retorna um TimeSpan.

Como medir o tempo gasto

No post Diferença de Performance Entre Tipos de Variáveis, mostrei uma outra forma de medição, onde escrevia o horário de inicio no console e mostrava o horário de finalização. Entretanto, dessa forma é necessário realizar um cálculo com os horários.

Utilizando a classe Stopwatch, isso já é feito pela própria classe, facilitando sua vida.

Para o post, utilizarei um projeto do tipo ConsoleApplication. Abaixo mostro o código necessário para medir o tempo decorrido para escrever no console dez mil (10000) linhas com o valor de PI. Em seguida a explicação linha a linha.

Sub Main()
        Dim sw As New Stopwatch()
        sw.Start()

        For i As Integer = 1 To 10000
            Console.WriteLine("Linha " & i & ": " & Math.PI)
        Next
        Console.WriteLine("")

        sw.Stop()

        Dim ts As TimeSpan = sw.Elapsed

        Dim TempoDecorrido As String = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds)
        Console.WriteLine("Tempo Total " + TempoDecorrido)

        Console.Read()
End Sub

Linha 2: Declaração da variável sw do tipo Stopwatch.

Linha 3:  Inicia contagem do tempo como método Start().

Linhas 5, 6, 7, 8: Executado um for para escrever as 10000 linhas com o valor de PI no console e no final, uma linha em branco para separar o que vem a seguir.

Linha 10: Para a medição com o método Stop().

Linha 12: Declara a variável ts, do tipo TimeSpan, para receber o tempo decorrido para a execução. Para tanto é utilizado o método Elapsed.

Linha 14: Declara a variável TempoDecorrido do tipo String. A variável ainda recebe o valor formatado do tempo decorrido que foi guardado na variável ts.

Linha 15: Escreve no console o tempo decorrido, já formatado.

Linha 17: Para o console visualizarmos o resultado.

E como resultado, temos.

Resultado da medição do tempo decorrido

 

O exemplo dado foi em Visual Basic .NET, mas essa classe também pode ser implementada facilmente em C#.

Bom garela, por hoje é só. Até o próximo post!

Um comentário sobre “Como medir o tempo gasto para executar uma tarefa

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.