GNU Compiler Collection 4.3: schneller und genauer rechnen

Die neue Version erzeugt optimierten Code für Intels Core-2- und AMDs Geode-Prozessoren sowie die SPUs (Synergistic Processor Unit) der aus Sonys Playstation 3 bekannten Cell Broadband Engine.

In Pocket speichern vorlesen Druckansicht 269 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Oliver Lau

Das GCC-Team hat die Version 4.3.0 seiner GNU Compiler Collection freigegeben. Sie integriert die MPFR-Bibliothek (multiple-precision floating-point computations with correct rounding) mit mathematischen Funktionen beliebiger Genauigkeit. Das soll der GCC erlauben, Funktionsaufrufe mit konstanten Argumenten gegen das mathematisch äquivalente Ergebnis auszutauschen. Optimierungen sind auf diesem Wege unabhängig von der Gleitkommabibliothek des Zielsystems bereits zur Compile-Zeit möglich.

Die GCC 4.3 soll außerdem optimierten Code für Intels Core-2- und AMDs Geode-Prozessoren erzeugen können sowie die Befehlssatzerweiterungen SSSE3 und SSE4 (4.1 und 4.2) berücksichtigen. Hinzu kommt die Unterstützung für die SPUs (Synergistic Processor Unit) der aus Sonys Playstation 3 bekannten Cell Broadband Engine.

Die C++-Standardbibliothek (libstdc++) hat neue Klassen für parallele Datenverarbeitung bekommen, etwa std::count, std::find, std::for_each oder std::sort. Dazu mussten natürlich auch die Container wie map oder set parallelisiert werden.

Außerdem haben die Entwickler Teile des künftigen ISO-C++-Standards C++0x in die Standardbibliothek eingebaut, etwa reguläre Ausdrücke oder spezielle Rechenfunktionen, zum Beispiel die Riemannsche Zeta-Funktion, Bessel-Funktionen oder Laguerre- und Legendre-Polynome.

Das C++-Frontend hat die für C++0x vorgeschlagenen static assertions erhalten. Das sind Assertions, die bereits zur Compile-Zeit ausgewertet werden. Auf diese Weise lassen sich beispielsweise Template-Parameter auf Zulässigkeit prüfen, was mit den gängigen Assertions nicht möglich ist, da diese erst zur Laufzeit greifen. Aus dem C99-Standard haben die GCC-Entwickler den Datentyp long long in C++ übernommen. Die Details der Änderungen und Neuerung verräte das Changelog.

Die GCC 4.3 steht auf diversen FTP-Spiegelservern zum Download bereit. (ola)