Zitat von
Matze:
Das müsste sehr schnell gehen. Du kannst das selbst testen, wenn du magst (Vorgehensweise ungetestet):
Delphi-Quellcode:
var
Start1, Start2: Integer;
i: Integer;
begin
Start1 := GetTickCount();
for i := 1 to 100000 do
begin
Start2 := GetTickCount();
if (a and b and c) then
begin
end;
if i = 1 then
ShowMessage(IntToStr(GetTickCount() - Start2)); // Zeit, die eine if-Anweisung benötigt
end;
ShowMessage(IntToStr(GetTickCount() - Start1)); // Zeit, die alle if-Anweisungen benötigen
end;
Die Dauer des Aufrufs von GetTickCount und die Abfrage
i = 1 beeinflussen das Ergebnis natürlich minimal, aber grob kannst du feststellen, wie lange was nun benötigt.
Delphi-Quellcode:
if (a and b and c) then
begin
end;
Ich wage zu bezweifeln, dass der Compiler das nicht wegoptimiert.