Propeller-Framework: Google baut Binär-Optimizer für LLVM
Die Arbeiten basieren auf Experimenten von Facebook und landen nun langsam im Hauptzweig von LLVM.

Die ersten Patches von Googles sogenanntem Propeller Framework sind in den Hauptzweig des Compiler-Projekts von LLVM aufgenommen worden. Dabei handelt es sich um einen Post-Link-Time-Optimizer, also um ein Werkzeug, das im Kompiliervorgang bereits erstellte Binärdateien noch weiter optimiert.
Erstmals vorgestellt wurden die Arbeiten an dem Propeller Framework von Google im vergangenem Herbst. Ausgangspunkt für die Entwicklung waren demnach Experimente mit Facebooks Bolt, ebenfalls einem Post-Link-Time-Optimizer. Google habe dieses mit sehr großen internen Benchmarks getestet und Bolt habe dabei in wichtigen Leistungsmetriken besonders gute Ergebnisse geliefert.
Dabei seien Verbesserungen um 2 bis 6 Prozent erzielt worden. Das mag zunächst wenig erscheinen, ist laut Google dennoch "beeindruckend", da diese Steigerungen zusätzlich zu sowieso schon sehr stark optimiertem Code erreicht werden. Laut den Entwicklern von Google hat Bolt jedoch einige gravierende Nachteile. So nutzt das Werkzeug die Vorteile von verteilten Build-Systemen nicht und skaliert auch selbst nicht gut. Ebenso hat Bolt einige spezifische Probleme beim Umgang mit sehr großen Textsegmenten. Bei einem Binary mit einem etwa 300 MByte großen Textsegment benötigt Bolt rund 70 GByte Arbeitsspeicher und es dauert mehr als 10 Minuten, um das Binary umzuschreiben.
Um diese Nachteile zu beheben und dennoch die Vorteile dieser Art Binäroptimierung zu erhalten, hat Google das Propeller-Framework geschaffen. Eigenen Benchmarks zufolge soll der Google-Code dabei ähnliche Leistungssteigerungen bieten wie Bolt, im Vergleich zu diesem jedoch nur rund 20 Prozent des Speicherbedarfs benötigen und auch weniger Zeit in Anspruch nehmen. Detaillierte Beschreibungen und Experimente erklärt Google in einer eigenen Abhandlung (PDF).
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Kann ich dann auch alte Spiele optimieren? Crysis aus 2007 hatte bestimmt nicht den...
Troll