![]() |
Re: Performanz von verschachtelte if- Abfragen
Zitat:
Delphi-Quellcode:
Ich wage zu bezweifeln, dass der Compiler das nicht wegoptimiert.
if (a and b and c) then
begin end; |
Re: Performanz von verschachtelte if- Abfragen
@Dominik/Markus: Stimmt. Wie bereits geschrieben, das soll nur das Vorgehen sein, die Umsetzung müsste etwas anders aussehen.
@NamenLozer: Das sind eben seine Bedingungen. Ich weiß nicht, wie diese aussehen. Das können Funktionsaufrufe sein und ähnliches. |
Re: Performanz von verschachtelte if- Abfragen
Hi Matze,
das meinte ich nicht. Wenn in der if-abfrage kein code steht wird die gesamte if-abfrage sicherlich wegoptimiert. Wenn da aber was drinsteht ist das Ergebnis verfälscht. Es sei denn man macht darin eine zweite Zeitmessung - Die braucht aber auch wieder Zeit :mrgreen: |
Re: Performanz von verschachtelte if- Abfragen
Zitat:
|
Re: Performanz von verschachtelte if- Abfragen
so hier ein test:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Zeit1, Zeit2: Cardinal; I, Dummy: Integer; const Durchläufe = 100000000000; begin Dummy := 0; Zeit1 := GetTickCount; for I := 0 to Durchläufe do if I <= Durchläufe then Inc(Dummy); Zeit1 := GetTickCount - Zeit1; Dummy := 0; Zeit2 := GetTickCount; for I := 0 to Durchläufe do Inc(Dummy); Zeit2 := GetTickCount - Zeit2; showmessage(Format('Ich habe für %d if-Abfragen %d Millisekunden benötigt!'#13#10+ 'Das sind %12.10f Millisekunden pro if-Abfrage!', [Durchläufe, (Zeit1 - Zeit2), ((Zeit1 - Zeit2) / Durchläufe)])); end; |
Re: Performanz von verschachtelte if- Abfragen
Ok, das probier ich auch mal aus! Danke für eure schnellen Antworten!
Findet man eigentlich auch so allgemeine Tipps zur Codeoptimierung irgendwo? Wie zum Beispiel das Sortieren der if- Abfragen nach Abbruchkriterium etc. was hier so vorgeschlagen wurde? Sicher ist es nich immer einfach, alles zu verallgemeinern, aber so ein paar generelle Dinge, was man irgendwie beachten könnte?! Das wäre toll... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz