![]() |
AW: Achtung. Optimierung beim Compiler
Die Frage war eben ob es überhaupt notwendig ist an der Stelle die Optimierung abzuschalten. Denn wie bereits erwähnt wurde sollte sich die Optimierung nicht derart auswirken das eine falsche Logic entsteht.
|
AW: Achtung. Optimierung beim Compiler
Zitat:
|
AW: Achtung. Optimierung beim Compiler
Dann kannst du ja den Bug melden, und wenn du Glück hast, wird der Fehler dann in Delphi 2012 behoben :-D [/Zynismus]
|
AW: Achtung. Optimierung beim Compiler
Hab noch nie mitbekommen, daß es dadurch Probleme gibt.
Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE} var i: Integer; InUse: Array[0..20] of Boolean; Sr, S: String; begin for i := 0 to 20 do InUse[i] := Boolean(Random(2)); Sr := ''; for i := 0 to 20 do begin // zählt problemlos rückwärts if not InUse[i] then Sr := Sr + 'j' else Sr := Sr + 'n'; end; S := ''; for i := 0 to 20 do begin WriteLn(i); if not InUse[i] then S := S + 'j' else S := S + 'n'; end; WriteLn(Sr); WriteLn(S); end. |
AW: Achtung. Optimierung beim Compiler
Zitat:
DelTurbo, schau bitte nochmal genau hin. Leider gibt es dazu x Threads, wo das gleiche gemeldet+widerlegt wurde, und nicht ein Thread, wo es dann tatsächlich so war. Nichtsdestotrotz ist diese Schleifen-Runterzähl-"Optimierung" m.E. weitgehend sinnlos. Performance geht tatsächlich verloren durch schlechtes Algorithmendesign oder Peripheriezugriffe, während ein gesparter Assemblerbefehl pro Durchlauf in einer Schleife zu 99.9999999% marginal ist. blauweiss |
AW: Achtung. Optimierung beim Compiler
Zitat:
|
AW: Achtung. Optimierung beim Compiler
Zitat:
@blauweiss, ich merke schon Assembler ist nicht deine Welt. Ich denke mal das du nicht weisst wieviel Taktzyklen in einer grossen schleife verloren gehen, oder überhaupt weisst was schneller ist. Ein MOV AX,0 oder ein XOR AX,AX. Ausserdem wollte ich keine diskusuion über Assembler lostreten. Ich wollte das nur mitteilen damit andere nicht den gleichen "fehler" suchen. |
AW: Achtung. Optimierung beim Compiler
Zitat:
Zitat:
|
AW: Achtung. Optimierung beim Compiler
Liste der Anhänge anzeigen (Anzahl: 2)
Optimiert hat i den wert 88 nach der schleife. i wird runtergezählt.
Nicht Optimiert hat i den wert 3. i wird hochgezählt. i ist im weiteren verlauf mein index auf ein anderes Array. Na wenn das mal kein unterschied ist, weiss ich es nicht. Edit: Das die bilder sooooo klein sind wusste ich nicht. Man kann es trotzdem lesen. @uligerhardt, wenn ich ohne den debugger den fehler nicht gehabt hätte, hätte ich wohl kaum gesucht. |
AW: Achtung. Optimierung beim Compiler
Zitat:
Hast Du vielleicht die Warnungen unterdrückt? Ist mir auch einmal passiert, und danach hab ich "for i:=" durch "while i=" ersetzt. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 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