Nochmal hallo miteinander,
mit vollem Bauch denkt sich's zwar langsamer, aber trotzdem...
Aber auch wenn die Division in einem Divisions-Modul der CPU vorgenommen wird, wird Sie doch merklich mehr Taktzyklen benötigen, da die Division die wahrscheinlich aufwendigste Grundoperation ist.
[...] aber ich denke, man kann schon davon ausgehen, dass eine Division nach wie vor viel aufwendiger ist.
Im Prinzip richtig. Aber - abracadabra: Schlaue C-Compiler erkennen schon im Quelltext, dass es sich beim Divisor um eine Konstante handelt. Wenn diese Konstante gar eine Zweierpotenz ist, codieren sie die Operation gar nicht mehr als Division, sondern als Schiebeoperation (z.B. bei Borland oder MS C-Compilern). Ob und in welchem Maß das auch auf Scriptsprachen zutrifft, kann ich allerdings nicht sagen.
Das ganze bezieht sich auf Ganzzahldivisionen, die in der ALU der CPU erledigt werden. Fliesskommadivisionen werden in der FPU durchgefuehrt; fuer die gilt obiges nicht.
Stimmt. Aber auch die FPU braucht für eine Division "relativ lange", soweit ich mich erinnere, so um die hundert-schlagmichtot Zyklen. Wieder ein Argument für die Programmierer, auf Integer- oder Festpunktarithmetik zu setzen, wo es möglich ist.
Have a nice day,
Martin
while (!asleep()) sheep++;
*lol* Der ist gut!