Gregor Wagner: Speicherverbrauch von Firefox deutlich reduziert

Da Firefox nach Ausführung des V8-Benchmarks auf seinem Netbook kaum noch zu gebrauchen war, hat sich Gregor Wagner mit der Garbage Collection von Firefox auseinandergesetzt(öffnet im neuen Fenster) und diese verändert. Statt nicht mehr benötigten Speicher erst dann freizugeben, wenn eine bestimmte Speicherobergrenze erreicht wird, führt Firefox mit seinem Patch in regelmäßigen Abständen eine Garbage Collection durch. Dadurch wird nicht länger benötigter Speicher früher freigegeben. Im Fall von Wagners Netbook mit nur 1 GByte Speicher musste weniger geswappt werden, was den Browser ohne Neustart wieder benutzbar machte.
Dabei fiel Wagner auf, dass der Heap von Firefox trotz Garbage Collection nicht wie erwartet schrumpft. Eine weitere Analyse zeigte, dass Firefox dabei viele Speicherblöcke von 1 MByte reserviert hat, die kaum mehr genutzt wurden, da der Speicher nur kurzfristig benötigt wurde. Durch eine Trennung von kurzlebigen und langlebigen Objekten(öffnet im neuen Fenster) gelang es Wagner, reservierte, aber kaum mehr genutzte 1-MByte-Blöcke freizugeben.
Das Ergebnis, so Wagner, sei beeindruckend. Der Speicherverbrauch des Browsers sinkt deutlich. Bei Messungen sank die Heap-Größe nach dem Schließen aller beim Surfen geöffneten Tabs von rund 100 MByte ohne den Patch auf unter 20 MByte mit dem Patch. Der gesamte Speicherverbrauch des Browsers sank unter diesen Bedingungen von rund 300 auf unter 220 MByte.
Für die Integration in Firefox 6 kamen Wagners Patches zu spät, der Browser soll in Kürze in einer Betaversion erscheinen. In Firefox 7, der in Kürze in den Aurora-Channel wechseln soll, könnten die von Wagner vorgenommenen Änderungen aber aufgenommen werden.