GARANTIR DESCONTO

Fórum Diferença de performance em rotina de SysUtils #266945

01/02/2005

0

Dae!

Eu copiei a rotina StrLen pra minha unit e testei a performance em comparação com a original em SysUtils. Pra minha surpresa, a rotina original fez bem melhor. O código em SysUtils não é fake, porque eu o vi na janela da CPU. Eu cuidei pra que a rotina ficasse alinhada em 16 bytes.

procedure TForm1.Button1Click(Sender: TObject);
var
  S, F: Int64;
  I: Integer;
begin
  Sleep(0);
  QueryPerformanceCounter(S);
  for I := 99999 downto 0 do
    {SysUtils.}StrLen(P);
  QueryPerformanceCounter(F);
  Caption := IntToStr(F - S);
end;


Será que o cache tem sempre uma versão fresca da original na memória e chuta a minha? Sei lá...

B.


Beppe

Beppe

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar