Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#20

AW: MyStrToHex extrem schnell

  Alt 24. Dez 2012, 16:11
Hier ist mein Beitrag; 5x schneller als die Variante von Uwe Raabe. Das Ende der Fahnenstange ist bestimmt noch nicht erreicht.

Delphi-Quellcode:
Type
  THexLookup = Array [WideChar] Of Integer;
Var
  HexLookup : ^THexLookup;

Procedure BuildHexLookup;
Var
  w : Word;
  s : String;

Begin
  New(HexLookup);
  for w := 0 to 65535 do begin
    s := IntToHex(w,4);
    Move(s[1], HexLookup^[WideChar(w)],4);
  end;
End;

function FurtbichlerStrToHex(const s: Widestring): string;
var
   i : Integer;
   p : PIntegerArray;

begin
   SetLength(Result, 4*Length(s));
   p := @Result[1];
   for i := 1 to Length(s) do
     p^[i-1] := HexLookup^[s[i]];

end;

...
initialization
  BuildHexLookup;
Mhmm, irgendwas scheint da nicht zu funktionieren - das Programm braucht nun ca. 100 mal länger als vorher, um den Code auszuführen. Ich verstehe den Code nicht, deswegen kann ich nicht sagen, wo der Fehler liegt.
  Mit Zitat antworten Zitat