Einfach aus einer Laune heraus hab ich mal 2 Funktionen geschrieben, die mir die Anzahl der Zeichen (ohne Zeilenumbruch) in einer Stringlist ausgeben.
Funktion 1:
Delphi-Quellcode:
function GetCharCountInList(AList:TStrings):int64;
var
i : integer;
begin
result := 0;
for I := 0 to Alist.count - 1 do
result := result+length(alist.strings[i]);
end;
Funktion 2:
Delphi-Quellcode:
function GetCharCountInList2(AList:TStrings):Int64;
begin
result := length(Alist.Text)-((alist.count)*2);
end;
Eigentlich sollte man doch meinen, das Funktion 2 wesentliche schneller ist, als Funktion 1 (selbstredend ohne Optimierung des Compilers !).
Pustekuchen. Funktion 1 ist um Längen schneller (gemessen bei 100000 Aufrufen).
Kann mir das mal bitte einer erklären ?