Potenz langsam

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Casiopaya

Betreff: Potenz langsam

BeitragSa, Jul 05, 2008 1:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

kann, sein dass das schonmal genannt wurde (habs in der Suche nicht gefunden) aber warum ist

Code: [AUSKLAPPEN]
t# = s# * s#


eigentlich 8 mal schneller als

Code: [AUSKLAPPEN]
t# = s# ^ 2
?

Mir will aus Compilerbau-Sicht (da kenn ich mich ein wenig aus) nicht klar werden, weswegen der Unterschied so gravierend sein sollte. Ok, im 1. Fall wird sicher der Cache ausgenutzt, aber das wäre im 2. Fall (bzw. GERADE im 2. Fall!) doch auch logisch. Hat da schonmal jemand in den erzeugten Assembler-Code geschaut?

Grüße Casiopaya


EDIT:

Ok, sorry, ich hab schon selbst ne Möglichkeit entdeckt: Die Potenzfunktion "^" nimmt Floats als Exponenten an (die Potenzfunktion ist also mächtiger als die Konkatenation von Multiplikationen). Trotzdem wundert es ein wenig, warum da nicht überladen wurde.

ProfJake

ehemals "DTC" / "Fabian Niemann"

BeitragSa, Jul 05, 2008 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht weil s ^ 2 nicht gleich s + s, sondern s * s ist.
Oder hast du dich da verschrieben?

DAK

BeitragSa, Jul 05, 2008 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
ich schätze, der punkt ist der, dass die funktion hinter s^2 nicht nur für ^2 sondern auch z.b. für ^7.32545786879 funktionieren können muss und desswegen nicht einfach s*s draus machen kann (versuch mal 2 1/2 mal s* hintereinander zu schreiben)...
Gewinner der 6. und der 68. BlitzCodeCompo

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group