GCC 4.1 mit neuen Optimierungen und Objective C++
GNU Compiler Collection 4.1.0 mit leichter Verspätung erschienen
Der GNU Compiler wartet in der Version 4.1 mit interprozeduralen Optimierungen und Unterstützung für Apples Objective C++ auf - auch die Java-Bibliothek wurde weiter ausgebaut. Mit nur ein paar Wochen Verspätung gab Mark Mitchell die finale Version 4.1.0 der GNU Compiler Collection frei.
Zu den größeren Änderungen gehört, dass der mit der vorherigen Version neu eingeführte C++-Parser nun auch für C und Objective C verwendet wird. Der von Hand geschriebene recursive-descent Parser ist schneller und soll auch besser zu warten sein.
Die neuen auf der Tree-SSA Infrastruktur aufbauenden Optimierungen arbeiten nun auch über Funktionsgrenzen hinweg und erkennen besser, wenn Code-Bereiche nicht verwendet werden, an welchen Stellen sich Code-Inlines lohnen und welche Variablen komplett durch Optimierungen entfernt wurden. Weiter verbessert wurde auch die automatische Vektorisierung, die es erlaubt, Schleifen auf Vektoreinheiten wie SSE und Altivec abzubilden.
Bei den unterstützten Sprachen ist Objective C++ von Apple hinzugekommen. Objective C ist eine Alternative zu C++, die hauptsächlich durch die Firma NeXT entwickelt wurde und heute in Apples MacOS X weiterlebt. Objective C++ erlaubt die Verwendung von C++, wie zum Beispiel auch Namensräume und Templates, in ObjC.
Auch wurde die Java-Classpath-Biliothek enorm ausgebaut und erlaubt inzwischen, Eclipse in native Form zu übersetzen.
Der Abbau von GNU-Erweiterungen, die dem Programmierer zwar die Arbeit erleichtern können, aber für eingeschränkte Portabilität sorgen, hat in der Version 4.1 nur obskure Varianten der C++-"friend"-Deklaration erwischt. Die meiste existierende Software ist davon aber nicht beeinflusst und so lassen sich nahezu alle Pakete aktueller Linux-Distributionen einfach mit dem neuen Compiler übersetzen.
In der nächsten Version soll dann das Binden von "Templates" mit vorgegebenen Parametern an Templates mit wenigen Parametern entfernt werden. Verspätet hat sich die Version durch die Unterstützung für Floating-Point-Berechnung in 128 Bit für PowerPC, die noch im letzten Moment angegangen wurde, da diese wohl für die kommende GNU-C-Bibliothek 2.4 nötig werden.
Interessant wird die kommende Version des Compilers, sollten die Pläne von Apple, das LLVM-Projekt in GCC zu integrieren, Formen annehmen. Dann könnte theoretisch portabler Bytecode generiert werden, der erst zur Laufzeit in native Instruktionen umgesetzt und optimiert wird - nicht nur für Apples MacOS X, sondern auch für Linux-Distributionen äußerst interessant.
Die Änderungen der neuen GCC-Version 4.1.0 sind im Detail auf der Homepage des Projekts nachzulesen. [von René Rebe]
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
OpenSource Sofware ist nicht hässlich! - Der Code ist oft wunderschön. OK - Du meinst das...
Danke für die Antworten, genau so kurz und knackig wollt ichs haben!
Das scheint ähnlich zu libjit zu sein, einer Just-in-time compilation library die unter...
Die Qualität der Artikel auf golem hat auch nach meinem Dafürhalten in letzter Zeit...