Login
Newsletter
Werbung

Sa, 28. Oktober 2017, 09:23

Software::Entwicklung

Diskussion um Standardoptimierung beim GCC

In einer E-Mail an die Mailingliste des GCC-Projektes schlägt der ARM-Entwickler Wilco Dijkstra vor, künftig als Standardoptimierung für die Suite nicht mehr »O0«, sondern »Og« zu verwenden. Doch der Vorschlag findet nur wenig Zuspruch.

gnu.org

Die »GNU Compiler Collection«, besser bekannt unter dem Namen »GCC«, stellt eine Compiler-Suite des GNU-Projekts dar und enthält Compiler und Laufzeit-Bibliotheken für zahlreiche Sprachen, darunter X, C++ und Objective C. Sie unterstützt Hunderte von Kombinationen von Prozessor, Rechnerarchitektur und Betriebssystem, darunter alle von Linux und den BSD-Systemen unterstützte Architekturen. Auch Cross-Compilierung zwischen beliebigen Plattformen ist möglich.

Wie die meisten Compiler, erlaubt auch GCC den Code während des Kompiliervorgangs zu optimieren und beispielsweise Abläufe besser an den CPU-Befehlssatz anzupassen. Eine besondere Hilfe sind dabei die Optimierungslevel, die je nach Option mehrere Parameter zusammenfassen. Die am häufigsten eingesetzte Option ist dabei -O0, die für eine schnellere Kompilierung und einen leichter zu debuggenden Code sorgt, weshalb sie auch zum Standard innerhalb der Suite gewählt wurde.

Laut dem ARM-Entwickler Wilco Dijkstra ist es aber an der Zeit, den Standard zu ändern. Laut Dijkstra ist der mittels -O0 optimierte Code nicht nur »extrem ineffizient«, sondern auch für das Debugging oder Quellcode-Inspektion kaum geeignet. Die Wahl einer anderen Option ist fast immer die Folge.

Dijkstra schlägt deshalb vor, die Option -Og zum Standard zu machen. Diese erstelle nicht nur einen effizienteren Code, sondern sei auch besser für Debugging geeignet und lasse schnellere Compilerläufe zu. Einen passenden Patch fügte der Entwickler seiner E-Mail praktischerweise gleich bei.

Die Resonanz auf den Vorschlag fiel weitgehend negativ aus. Eric Gallager begrüßte zwar die Idee, merkte aber an, dass -Og noch mit diversen Fehlern zu kämpfen habe. Solange nicht alle korrigiert worden sind, ergebe eine Änderung keinen Sinn. Laut Eric Botcazou wäre der neue Standard zudem nur für Entwickler interessant und Jakub Jelinek sieht in einer Änderung sogar Potenzial für mehr Schaden als Nutzen. Auch er sieht noch etliche ungelöste Probleme. Die Änderung der Standardoption auf diesem Wege sei laut Jelinek zudem »extrem unerwünscht«.

Werbung
Kommentare (Insgesamt: 9 || Alle anzeigen )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung