X * X vs. X ^ 2
Übersicht

![]() |
FetzeBetreff: X * X vs. X ^ 2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Hab gerade etwa mit Blitzmax herumgespielt und versucht, meine Function zur Entfernungsberechnung zu optimieren. Nach ner Weile ist mir dann eingefallen, dass ich irgendwo mal gelesen hatte, x*x sei schneller als x^2, ich war mir aber nicht mehr sicher, ob das auch für Blitzmax galt. Also hab ich mir folgendes Testprogramm geschrieben, um herauszufinden, was denn nun schneller ist. BlitzBasic: [AUSKLAPPEN]
Das Testergebnis hat mich dann doch ziemlich überrascht. Hier die Mittelwerte, der 100 durchgeführten Tests: Mit Debug: X * X ----> 2.74000001 X ^ 2 ----> 27.6100006 Ohne Debug: X * X ----> 0.310000002 X ^ 2 ----> 25.2800007 Falls niemand einen Fehler in meinem Testprogramm entdeckt, rate ich jedem, Potenzrechnungen wenn möglich lieber auszuschreiben *g* |
||
![]() |
stfighter01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
kann ich mir schon vorstellen, der potenzieralgo ist wesentlich komplexer als eine multiplikation.
aber ich findes es auch blöd das diese spezialfälle nicht abgecheckt werden. vielleicht kommt es aber noch in einer neuen version. mfg stfighter |
||
Denken hilft! |
![]() |
rema |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der C-Compiler optimiert je nach Optimirungsstufe solche Fälle.
Aber ein Bug oder so ist dies nicht. Da muss man selber Hand anlegen. |
||
![]() |
Fetze |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Aber ein Bug oder so ist dies nicht. Da muss man selber Hand anlegen.
Deswegen melde ich das ja *g* |
||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
x^x ist intern double
das selbe wie "pow"-funktion x*x ist float, wenn float benutzt wird oder gar int, wenn int benutzt wird und das ist schnell x^x ist aber von natur schon langsamer... |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group