Das genau zu wissen wäre wirklich einmal eine interessante Information. In meinen C++-Zeiten hat man uns gelehrt, dass man besonders Divisionen mit Kommastellen möglichst im Programm vermeiden sollte, da der damals normale Hauptprozessor mit Gleitkomma - Operationen Probleme hatte. Zum Betrieb des damals noch steinzeitlichen Autocad 1.18 war sogar noch nötig, am PC einen zusätzlichen teueren Koprozessor einzubauen, der diese Aufgabe übernehmen sollte. In den Pentiums war der dann mit eingebaut.
Mir persönlich neu ist Deine Info, dass Stringoperationen langsamer sein sollen, da die doch eindeutig mit Bytes - also mit 8-Bit-Buchstaben mit direkten Anfragen durchgerechnet werden - im Gegensatz zu Gleitkommaoperationen, die im entsprechenden Prozessor mit vielen Iterationen im brute-force-Verfahren ausgerechnet werden. (was natürlich bei unseren beiden Möglichkeiten nicht zutrifft - das sind einfache Vergleiche von Werten)
Du könntest durchaus recht haben, dass die EPS-form effizienter ist, weil die Umwandlung von Zahl in String entfällt. Vielleicht könnte mans testen, indem man beide Arten in einer sehr großen Menge wiederholt und die Zeit misst. Akademische Hirnw.. grins.
noch ein Zitat aus dem GDL-Kochbuch -Abschnitt 1.25:
Rechner können leichter multiplizieren als dividieren. Zu dividieren kann vielleicht 32 Recheneinheiten beanspru- chen, wohingegen multiplizieren 1,2 oder 4 Rechenein- heiten benötigt, abhängig davon, über welchen Rechner wir sprechen, und ob der Rechner optimiert ist für Fließ- kommas oder Ganzzahlen. Es mag auf den ersten Blick einfacher sein, einen Ausdruck wie „LET len=wid*3/4“ zu schreiben, aber er wird wahrscheinlich schneller in der Form von „LET len=wid*0.75“ berechnet. Sicherlich macht sich der Zeitunterschied nur bei extrem langen Scripten bemerkbar.
Sie schreiben immer einen effizienten Code, indem Sie Polylinien und klare Strukturierung verwenden.
Auch interessant wäre - ob es schneller geht - Punkte zu berechnen und dann als Startpunkte der 2D-3D-Anweisungen zu verwenden oder das Koordinatensystem zu verschieben und die Teile mit lokalem Startkoordinaten 0 zu setzen.
Einen Vergleich in dieser Richtung habe ich schon als Video gepostet: native Morphs bauen wesentlich langsamer auf als der selbe Körper in ein GDL umgewandelt - seltsam aber wahr.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia