Grüß euch Ich würde gerne die Diskussion rund um die Nutzung von Clang als Crosscompiler etwas anregen und habe aus diesem Grund ein Projekt mit einigen Vergleichs-Benchmarks angelegt. Das Projekt läuft auf einem STM32F4Discovery und findet sich hier: https://gitlab.com/higaski/GccVsClang_uC Das Kurzfazit ist, dass Clang in meinen Augen als Crosscompiler bereits konkurenzfähig zum GCC ist. Die Compile-Zeiten sind entweder gleichwertig oder im Fall von Template-lastigem Code sogar wesentlich kürzer. Die erzeugen Binaries bewegen sich in etwa in der selben Größenordnung und die Fehlermeldungen sind aktuell ein Eck besser als die vom GCC (wobei GCC8 hier deutlich zulegen dürfte). Negativ hervorheben muss man, dass Clang 6.0.1 einen lästigen Bug bei friend declarations hat über den ich nun schon mehrmals gestolpert bin. Außerdem ist Clang bei der Einhaltung des Standards wesentlich strikter... vor allem bei constexpr Nutzung. Ob das nun gut oder schlecht ist sei mal dahingestellt... Die genauen Resultate zu den 6 Testfällen die ich compiliert hab finden sich im README.md des verlinkten Repos.
Vincent H. schrieb: > (wobei GCC8 hier deutlich zulegen dürfte). Ja, eigentlich fehlen da noch die Werte für den aktuellen gcc 8.2. Danke für den Vergleich!
GCC 8.2.0 legt beim Template Zeug zu, der Rest stagniert. War jedoch auch zu erwarten, da der Rest ja fast mehr C als C++ is und da einfach nicht mehr so viel Potential vorhanden ist. Ein Devirtualisierungs-Beispiel wär noch gut... vielleicht kommt ich irgendwann mal dazu. Projekt im Link ist aktualisiert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.