Firefox platzt aus den Nähten

Die Mozilla-Entwickler können die 32-Bit-Version des freien Webbrowsers Firefox für Windows nicht mehr ohne Weiteres erzeugen. Ursache ist der auf 3 GByte beschränkte Speicher für den Linker.

In Pocket speichern vorlesen Druckansicht 684 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Christian Kirsch

Vor zwei Jahren stolperten die Mozilla-Entwickler schon einmal über das Problem, jetzt trifft es sie erneut: Der freie Browser Firefox ist wieder einmal so groß, dass er sich auf einem 32-Bit-Windows nicht mehr erstellen lässt.

Die an 90 Prozent der Anwender ausgelieferte Windows-Version wird mit "Profile-Guided"-Optimierung (PGO) erzeugt. Dabei finden zwei Compiler-Durchgänge statt. Der im ersten erzeugte Code sammelt bei der Ausführung Informationen über sein Laufzeitverhalten. Diese "Profile"-Daten dienen dann im zweiten Compiler-Lauf zum Erstellen eines optimierten Browsers. Das PGO-Verfahren ist seit fast vier Jahren bei Mozilla in Betrieb, es brachte am Anfang einen Leistungsschub von rund 10 Prozent.

Nun scheitern jedoch die Builds für 32-Bit-Windows daran, dass der Linker dort mehr als 3 GByte Speicher benötigen würde, was das Betriebssystem nicht zulässt. Anfang 2010 war ein ähnliches Problem aufgetreten, als die PGO-Builds an der voreingestellten Linker-Grenze von 2 GByte scheiterten.

Das ließ sich jedoch durch den Linker-Schalter /3GB umgehen. Zur Behebung der jetzigen Situation gibt es aber keinen Switch. Den Entwicklern bleiben drei Möglichkeiten: Code aus dem eigentlichen Browser in dynamische Bibliotheken auszulagern, die 32-Bit-Version auf einem 64-Bit-Windows zu übersetzen oder auf Microsofts Visual Studio 2010 umzusteigen.

Nach ersten Tests könnte das Verlagern von Teilen der WebGL-Implementierung rund 300 KByte sparen. Die neuere Version von Visual Studio brauchte in einem Testlauf ebenfalls weniger Speicher als die bislang benutzte, und ein 64-Bit-Windows stellt dem 32-Bit-Linker einen Adressraum von 4 GByte zur Verfügung. (ck)