Medindo o tempo de execução de um processo
Então a forma que utilizei foi, peguei a hora, minutos e segundo que iniciei e verifico com o tempo em que foi finalizado, simples não é?
Basicamente pensei em tem 2 formas:
Gettickcount - Retorna o número de milissegundos.
Timegettime - Retorna o número de milissegundos e se encontra na unit mmsystem
Timegettime.
procedure TForm1.FormCreate(Sender: TObject);
var
lTempoInicial, lTempoTotalNaProcedure: Cardinal;
begin
lTempoInicial := TimeGetTime;
{ A execução da função aqui }
lTempoTotalNaProcedure := TimeGetTime - lTempoInicial;
ShowMessage(Format('Tempo em segundos: %f', [lTempoTotalNaProcedure]));
end;
Gettickcount.
procedure TForm1.BtnGetTickCountClick(Sender: TObject);
var
lInicio, lFinal, lElapsedMilliseconds: Cardinal;
begin
lInicio := GetTickCount;
Sleep(3000); {Simula um processo}
lFinal := GetTickCount;
lElapsedMilliseconds := lFinal - lInicio; {Retorna em milissegundos}
ShowMessage('Total Seconds: ' + IntToStr(round(lElapsedMilliseconds/ 1000))); {Converte para Segundos}
end;
0 comentários:
Postar um comentário