Я переношу некоторые приложения с 32 до 64 бит delphi, которые выполняют большую обработку текста и замечают резкое изменение скорости обработки. Например, некоторые тесты с несколькими процедурами занимают более 200% времени в 64 бит, чем для компиляции до 32 (2000+ мс по сравнению с ~ 900).
Это нормально?
function IsStrANumber(const S: AnsiString): Boolean;
var P: PAnsiChar;
begin
Result := False;
P := PAnsiChar(S);
while P^ <> #0 do begin
if not (P^ in ['0'..'9']) then Exit;
Inc(P);
end;
Result := True;
end;
procedure TForm11.Button1Click(Sender: TObject);
Const x = '1234567890';
Var a,y,z: Integer;
begin
z := GetTickCount;
for a := 1 to 99999999 do begin
if IsStrANumber(x) then y := 0;//StrToInt(x);
end;
Caption := IntToStr(GetTickCount-z);
end;