023
02.07.2025, 15:59 Uhr
Dresdenboy
|
Zitat: | Early8Bitz schrieb Wie DL gestern schon schrieb, liegen die bekannten drei Diskettenimages sowie eine ZIP Datei mit allen von den Disketten extrahierten Files in seiner Cloud zum runter laden. |
Ja, danke. Ich hab es mittlerweile. Bert half mir dankenswerterweise nochmal auf die Sprünge mit dem Link, den ich nur nicht finden konnte. 
P.S.: Im normalen Browsermodus der Magentacloud konnte ich nichts herunterladen (FF, Chrome, Edge), aber mit Mobilansicht (auf Handy u. im FF mit Strg+Shift+M) ging es. Komisch.
Zitat: | Early8Bitz schrieb
Zitat: | Dresdenboy schrieb Was man mal kompilieren könnte, wäre ein simpler Benchmark zw. Float3 u. Float4. |
Dann brauchst Du aber letzlich den lauffähigen Compiler, denn die Gleitkommafunktionen, die in den beiden Bibliotheken stecken, müssen ja von einen C-Programm aufgerufen werden, was entsprechende arithmetische Ausdrücke für Deinen Benchmark benutzt.
Auch die die Übergabe von (Gleitkomma) Zahlen an die Bibliothek und die Verarbeitung der Rückgabewerte (z.B. speichern in einer Variable oder weiter verarbeiten bei komplexen Ausdrücken) gehören mit zur Laufzeitbetrachtung.
In der beiligenden Dokudatei UDOSC.B stehen schon Laufzeitvergleiche für beide Genauigkeiten. |
Super, danke für die Hinweise. Dann schau ich da mal. Und die Konvertiererei gehört natürlich dazu, je nachdem, wie lange man in einem Datentyp unterwegs bleiben kann. Aber die Konvertierungsroutinen können auch profitieren.
In den Obj-Files finde ich übrigens die komplexeren Mathe-Funktionen, die auch im Header stehen, aber auch MUL, DIV, MOD usw. Hier sind offenbar in den meisten Fällen 3-6fach schnellere Funktionen und Grundrechenarten drin mit Ausnahme SQRT mit Faktor scheinbar min. 18x.
Gut, es sind natürlich schon genug optimierte Funktionen v.a. für MUL u. DIV (8x8, 8x16, 16x16, 16x8) oder SQRT bekannt. Aber nicht in so einem schönen, in C integrierten Paket.
Quellcode: | Vergleich der beiden Gleitkommapakete:
Ungefaehre Rechenzeiten in ms:
Funktion 4-Byte-Arithmetik 3-Byte-Arithmetik
sin, cos < 20 < 6 tan, cot < 40 < 6 asin,acos, atan < 50 < 8 exp, log, log10 < 20 < 5 pow < 35 < 10 sqrt < 18 < 1
Grundrechenarten: +,- 0.4 0.2 * 1.5 0.4 / 3.2 0.6
Zahlenbereiche: +/- 3E-38...2E+38 +/- 1E-18...1E+18
Mantisse 23 Bit Mantisse 16 Bit Exponent 8 Bit Exponent 7 Bit Vorzeich. 1 Bit Vorzeich. 1 Bit
Ablage im Speicher bzw. in Registern: Reg. Speich. L +0 Mantisse (LS-Byte) Mantisse (LS-Byte) H +1 Mantisse Mantisse (MS-Byte) C +2 Mantisse (MS-Byte, Bit 0-6) ohne Bedeutung Vorzeichen (Bit 7) B +3 Exponent Exponent (Bit 0-6) Vorzeichen (Bit 7) |
Zitat: | Early8Bitz schrieb Dr. Edgar Huckert hat mit der Enwicklung dieses Compilers nichts tun. Er hat auch eine eigene Webseite. |
Da war ich unabhängig auch schon dran, mal zu recherchieren. Der Compiler sieht schon nach Eigenentwicklung aus. Man könnte bisschen über die integrierten Fehlermeldungen nach Äquivalenten suchen. Aber an sich eher nicht. Eine Idee zu Herrn Huckert: Es gibt ja die Bücher von ihm, z.B. https://huckert.com/ehuckert/Programmierung/Prog1.html
Auch online, wie das Amiga-C-Buch: https://www.retrozone.ch/docs/amiga/Amiga_C_in_Beispielen.pdf Die Adresse in Goldbach findest du auch im Buch.
Hier wäre mal interessant, inwieweit sich der C-Code aus seinem Buch "C-Toolbox Textverarbeitung. Vollständige Textverarbeitung inklusive Spellchecker und Silbentrennung in C-Quellcode für IBM-PC und Kompatible" von dem auf den UDOS-Disketten unterscheidet.
VG, Matthias -- ___________________________________ Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ... Dieser Beitrag wurde am 02.07.2025 um 16:02 Uhr von Dresdenboy editiert. |