Einzelnen Beitrag anzeigen

Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#23

Re: heruasfinden ob zahl Gerade oder ungerade ist

  Alt 16. Sep 2004, 14:38
Mit diesem kleinen Programm kann festgestellt werden, mit welcher Methode man am schnellsten
feststellen kann, ob eine Zahl gerade oder ungerade ist ( mit 1.000.000.000 Schleifendurchläufen).
In der RAR-Datei befinden sich 2 Versionen, die 1. Version im Ordner Variable überprüft eine
Variable (hier mit festem Wert 3). Die 2. Version im Ordner Konstante überprüft den festen Wert 3.

Bei der ersten Version ist Odd() und And 1 <> 0 am schnellsten.
Die MOD Varianten sind hier relativ langsam.

Bei der zweiten Version ist sind alle Methoden gleich schnell, nur Odd() ist ca. um Faktor 1,5 langsamer.
Kann sich das jemand erklären?


wieso erkennt der Compiler nicht, dass alle Varianten eigentlich identisch sind?
Als Assembler-Code könnte er dann ja für alle Varianten sschreiben:
Code:
asm
 AND EAX,1
 JZ @gerade
Angehängte Dateien
Dateityp: rar laufzeitttest.rar (11,0 KB, 12x aufgerufen)
Gruß Schneider-Huetter
  Mit Zitat antworten Zitat