Vielleicht nicht völlig offtopic, aber trotzdem wohl am besten hier:
Das C-Backend funktioniert ja so problemlos wie das ASM-Backend und soll (zumeist) schnelleren Code produzieren.
Die übertrieben aufgeblähten EXE des 6.10 C-Backend sind Vergangenheit, bei meinen Sachen liegen ASM und C quasi gleichauf.
Meine Frage daher:
Gibt es noch Gründe den ASM-Compiler zu nutzen ? Hat er in gewissen Anwendungsfällen noch Vorteile ?
Compiler ASM oder C-Backend - Was nutzen ?
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Compiler ASM oder C-Backend - Was nutzen ?
Meiner Meinung nach hat der ASM-Compiler keine Vorteile mehr. Du kannst nur eventuell bestimmte Codeschnipsel nicht mehr nutzen, die ASM nutzen.
Re: Compiler ASM oder C-Backend - Was nutzen ?
Für große Projekte (viele Codezeilen) hat der ASM-Compiler den Vorteil deutlich schneller zu kompilieren als der C-Compiler.
So spart man in der Entwicklungsphase Wartezeit beim häufigen Testen von Codes.
So spart man in der Entwicklungsphase Wartezeit beim häufigen Testen von Codes.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- TheCube
- Beiträge: 169
- Registriert: 20.07.2010 23:59
- Computerausstattung: Risen 3400G 16MB Win10-64Bit
- Wohnort: NRW
Re: Compiler ASM oder C-Backend - Was nutzen ?
Danke für eure Meinungen ...
Nebenbei ist es hier und da noch nützlich per Compilerwechsel false positives einer Virenscanner-Heuristik (Büro-PC) zu umgehen.
(Stufe2 ist dann bei mir per sinnlosen IncludeBinary von irgendwas seine EXE aufzublasen)
Nebenbei ist es hier und da noch nützlich per Compilerwechsel false positives einer Virenscanner-Heuristik (Büro-PC) zu umgehen.

(Stufe2 ist dann bei mir per sinnlosen IncludeBinary von irgendwas seine EXE aufzublasen)
Re: Compiler ASM oder C-Backend - Was nutzen ?
Ich nutze meistens ASM zum Debuggen und C fürs Release. Wie Nic geschrieben hat gibt es aber Codeteile, die nur mit einem Backend funktionieren, da ist man dann festgelegt.
Guten Morgen, das ist ein schöner Tnetennba!
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Re: Compiler ASM oder C-Backend - Was nutzen ?
SSE Optimierungen sind für mich viel einfacher in ASM zu machen als in C
Assembler und C-BAcken hat immer noch einige Differenzen!
Ein Beispiel ist die ABS() Funktion. In ASM funktioniert das für alle Integerwerte bis 64Bis.
Es wird direkt der ABS() Befehl der FPU verwendet, welche mit 80Bit Floats arbeitet, so dass kein Bit der 64 Bit verloren geht.
Im C-Backend geht das nur bis 52Bit., da C den ABS() Befehl zu einem SSE Befehl optimiert, was schneller ist, jedoch nur
mit 64Bit Float arbeitet, die eben nur 52Bit Integer ohne Verlust darstellen könnnen.
https://www.purebasic.fr/english/viewto ... SQ#p615366
Weiterhin hat das C-Backend immer noch einen Bug bei hirarchischen Strukturen mit virtuellen Arrays von 0 Länge in einer StructureUnion
https://www.purebasic.fr/english/viewtopic.php?t=85139
Assembler und C-BAcken hat immer noch einige Differenzen!
Ein Beispiel ist die ABS() Funktion. In ASM funktioniert das für alle Integerwerte bis 64Bis.
Es wird direkt der ABS() Befehl der FPU verwendet, welche mit 80Bit Floats arbeitet, so dass kein Bit der 64 Bit verloren geht.
Im C-Backend geht das nur bis 52Bit., da C den ABS() Befehl zu einem SSE Befehl optimiert, was schneller ist, jedoch nur
mit 64Bit Float arbeitet, die eben nur 52Bit Integer ohne Verlust darstellen könnnen.
https://www.purebasic.fr/english/viewto ... SQ#p615366
Weiterhin hat das C-Backend immer noch einen Bug bei hirarchischen Strukturen mit virtuellen Arrays von 0 Länge in einer StructureUnion
https://www.purebasic.fr/english/viewtopic.php?t=85139