Login
Login-Name Passwort


 
Newsletter
Werbung

Di, 15. März 2005, 16:36

Software::Entwicklung

Vorschau auf GCC 4.0

Mark Mitchell, derzeitiger Release-Manager des GCC-Projektes, hat im Gespräch mit News.com die Neuerungen für die kommende Version des GNU Compilers GCC 4.0 bekannt gegeben.
Von ThomasS

Der GNU Compiler ist das Herzstück des GNU/Linux-Systems und zugleich unverzichtbarer Bestandteil in der Entwicklung von freien Projekten wie Apache, dem Linux Kernel sowie den meisten anderen Open-Source-Programmen. Damit ist der GCC die allgemeine Basis kooperativer Softwareentwicklung für offene und freie Software überhaupt. GCC unterstützt viele gängige Programmiersprachen wie C, C++, Objective-C und Java. Mit GCC 4.0 soll nun Unterstützung für die Programmiersprache Fortran 95 dazu kommen, da diese Sprache im wissenschaftlichen wie im technischen Bereich nach wie vor einen hohen Stellenwert hat.

In dem Gespräch sagte Mitchell: »Das vorrangige Ziel war es, die neue Version 4.0 auf einer Optimierungs-Infrastruktur aufzubauen, die die Erzeugung einer viel besseren Code-Qualität erlaubt.«

Im kommenden GCC werden die Möglichkeiten zur Beeinflussung von Optimierungs-Optionen so erweitert, dass GCC Optimierungen im gesamten Programmcode vornehmen kann. Bislang können die Vorgängerversionen bis 3.4 kleine, lokale Teile des Programmes optimieren.

Ein neuer Optimierungsmechanismus mit dem Namen »skalare Ersetzung und Aggregation« kann nun Datenstrukturen, die größere Teile des gesamten Quellcodes ausmachen, identifizieren. Diese Objekte kann GCC in Teile zerlegen und komponentenweise in den schnelleren Cache-Speicher schreiben, statt ihn wie bisher im trägeren Hauptspeicher abzulegen. Dieses neue Feature soll GCC die Fähigkeit geben, das Gesamtbild eines Programmes zu erfassen.

Gegenwärtig ist der neu implementierte Optimierungsrahmen, genannt TreeSSA (static single assignment), noch am Anfang seiner Entwicklung. So kündigt Richard Henderson, Red Hat-Angestellter, für GCC 4.1 schon einen weiteren Optimierungsmechanismus »autovectorization« an, der auf eine Optimierung von Prozessor-Operationen zielt. Dieses Feature findet Bereiche im Quellcode, in denen einzelne Instruktionen auf multiple Datenelemente angewendet werden können, besonders nützlich für die Entwicklungsbereiche Video-Spiele und Supercomputing.

Mit Version 4.0 hält auch ein neues Sicherheitsfeature Einzug, dass den Namen Mudflap trägt. Es fügt den Test-Programmen beim Compilieren zusätzliche Features zu, die nach Klassen von Fehleranfälligkeiten wie Pufferüberläufe usw. suchen. Da Mudflap die Leistungskurve eines Programms beeinträchtigt, wird es nach Beendigung der Testphase wieder aus dem Endprodukt entfernt.

Hochwertigen Code soll es auch für C++ geben, der zum Teil »schockierend besser« sein soll.

Mitchell macht bei dieser Gelegenheit deutlich, dass das GCC-Projekt mit seinen zehn Unterprojekten nicht mehr als Freizeit-Projekt betrieben werden kann. Vielmehr habe die Kommerzialisierung und Professionalisierung von Linux auch das GCC-Projekt erreicht: »Die meisten Leute, die heute den Löwenanteil des Codes schreiben, tun es, um davon zu leben, anders als vor zehn Jahren. Die Entwicklungsarbeit nimmt sehr viel Zeit in Anspruch und bedarf eines langfristigen Engagements. Es ist ziemlich schwer, sie gerade eben mal so innerhalb von zwei Wochen Semesterferien zu erledigen.«

Die Gesamtliste aller geplanten Veränderungen kann hier nachgelesen werden.

Werbung
Zum Thema
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung