zurück zum Artikel

GCC 3.4 erzeugt schneller schnelleren Code

Oliver Lau

Ein seitenlanges ChangeLog beschert dem Entwickler viel Neues zur frei erhältlichen GNU Compiler Collection -- und gegebenenfalls auch Unerwartetes.

Das GNU-Projekt hat die Version 3.4 des frei erhältlichen GNU Compiler Collection (gcc [1]) unter anderem für C und C++ veröffentlicht [2], die nur so vor Neuerungen strotzt. Entwickler tun gut daran, sich mit den Details [3] auseinander zu setzen -- damit sie sich beispielsweise nicht wundern, warum ein #include Fehler verursacht. Nunmehr solle man doch bitte stattdessen stdarg.h einbinden. Auch die Frage, warum der Compiler plötzlich keine a.out-Dateien mehr unter FreeBSD oder Linux generiert, beantwortet das ChangeLog: Dieses Merkmal ist nämlich genau so wie die Unterstützung der altgedienten libc5 unter Linux dem natürlichen "bit rot" überholter Funktionen zum Opfer gefallen.

Auf gängiger Intel-Hardware soll gcc 3.4 bei -O0-Optimierung Kompilate typischerweise um rund 11 Prozent schneller erzeugen als noch die Vorgängerversion, bei -O2-Optimierung um etwa 8 Prozent schneller. Dank Feedback-Optimierung und intensiverer Zusammenarbeit mit dem Profiler soll sich auch die Ausführungsgeschwindigkeit des erzeugten Codes verbessern. Der Linker eliminiert überdies ungenutzten Code, explizit erreichbar über den Schalter -funit-at-a-time oder implizit durch -O2.

GCC umfasst auch in der Version 3.4 Frontends [4] für C, C++, Objective C, Fortran, Ada und Java sowie die entsprechenden Bibliotheken. Das rund 26 MByte große Quelltext-Archiv von GCC 3.4 lässt sich vom GNU-FTP-Server [5] beziehen. Die Datei scheint momentan noch nicht auf allen Mirror-Servern [6] angelangt zu sein. (ola [7])


URL dieses Artikels:
https://www.heise.de/-97271

Links in diesem Artikel:
[1] http://gcc.gnu.org/
[2] http://gcc.gnu.org/ml/gcc-announce/2004/msg00001.html
[3] http://gcc.gnu.org/gcc-3.4/changes.html
[4] http://gcc.gnu.org/frontends.html
[5] ftp://ftp.gnu.org/pub/gnu/gcc/gcc-3.4.0/
[6] http://www.gnu.org/order/ftp.html
[7] mailto:ola@ct.de