Como sempre temos a necessidade de manipular dados com o Delphi, resolvi testar a diferença de performance entre diferentes componentes, pra ver no que dava.
Utilizando delphi 7, fiz um for de 0 a 100000:
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
tempo: TDateTime;
begin
tempo := Now;
Gauge1.Progress := 0;
for I := 0 to 100000 do
begin
Memo1.Lines.Add(IntToStr(I)+ ' - Isso é um teste -> ' + FormatDateTime('HH:MM:SS:ZZZ', Now));
Gauge1.Progress := Gauge1.Progress + 1;
end;
Edit2.Text := FormatDateTime('HH:MM:SS:ZZZ', tempo - Now);
end;
O resultado dos tempos que demorou para cada componente passar pelo for foi o seguinte:
00:00:00:407 - StringList - Jogando num StringList
00:00:00:702 - Texto - Escrevendo diretamente em txt com WriteLn
00:00:15:992 - Memo Invisivel
00:00:22:484 - ListBox Invisivel
00:00:32:250 - ListBox
00:00:54:270 - Memo Visivel
00:13:18:326 - RichEdit
Testei em condições muito parecidas, com os mesmos processos rodando no momento de execução, levando em consideração que tenho vários bancos rodando no micro, a diferença entre um componente e outro fica muito parecida se utilizado o Delphi 7 ou o 2007.
Pergunta
João Paulo Taraciuk
Como sempre temos a necessidade de manipular dados com o Delphi, resolvi testar a diferença de performance entre diferentes componentes, pra ver no que dava.
Utilizando delphi 7, fiz um for de 0 a 100000:
O resultado dos tempos que demorou para cada componente passar pelo for foi o seguinte:
Testei em condições muito parecidas, com os mesmos processos rodando no momento de execução, levando em consideração que tenho vários bancos rodando no micro, a diferença entre um componente e outro fica muito parecida se utilizado o Delphi 7 ou o 2007.
Editado por João Paulo TaraciukLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.