Login
Newsletter
Werbung

Mi, 6. Juli 2011, 17:58

Software::Desktop

Speicherverbrauch von Firefox soll sinken

Zwei jüngst entwickelte Änderungen sollen den Speicherbedarf vo Firefox erheblich senken. In erster Linie sorgen sie dafür, dass kurzzeitig benutzter Speicher schneller wieder freigegeben wird.

Mozilla Foundation

Moderne Browser benötigen durchweg eine Menge Speicher. Schon das Darstellen einer einzelnen HTML-Seite ist speicherintensiv. Kommt noch JavaScript hinzu, wird für die dynamischen Datenstrukturen dieser Sprache noch viel mehr Speicher zusätzlich benötigt. Jede gleichzeitig geöffnete Webseite vergrößert den Bedarf noch entsprechend.

Auch Firefox gehört nicht zu den kleinsten Verbrauchern und seit Version 4 scheinen sich die Klagen der Benutzer zu häufen. Der Doktorand Gregor Wagner, der in seiner Freizeit an Firefox mitarbeitet, ging diesen Problemem nach und analysierte in letzter Zeit die Speicherverwaltung von Firefox.

Firefox nutzt einen Garbage Collector (GC), um den Speicher zu verwalten und nicht mehr benötigten Speicher freizugeben. Wagner entdeckte nun, dass der GC nicht oft genug aufgerufen wurde. Da jeder Lauf des GC Ressourcen benötigt und es unnützer Aufwand ist, Speicher freizugeben, der gleich wieder benötigt wird, hatten die Entwickler den Aufruf des GCs an spezielle Konditionen geknüpft, die sich als nicht ausreichend erwiesen. Wagner korrigierte dies zunächst mit einer Änderung, die nach einer Vergrößerung des allokierten Speichers auf 300% aktiv wurde. Dies war aber immer noch ungünstig, denn so konnte der Browser zum Beispiel bis auf 900 MB anwachsen, wenn die Belegung vorher 300 MB war. Eine zweite Änderung, die den GC spätestens nach 20 Sekunden startet, brachte nach Ansicht von Wagner und ersten Testern wesentliche Verbesserungen.

Wagner fand noch eine zweite Möglichkeit, den Speicherbedarf zu senken. Dieser hat mit der Fragmentierung des allokierten Speichers zu tun. Durch eine ungünstige Verteilung der Speicherblöcke wurde verhindert, dass größere Speicherbereiche wieder freigegeben werden konnten. Daher änderte Wagner die Allokierung, so dass langlebige Browser-Objekte separat von den für die Webseiten benötigten Objekte allokiert werden. Im Endergebnis kann der Browser nach Wagners Messungen bis zu 90 MB mehr freigeben.

Beide Änderungen werden in Firefox 7 Einzug halten, mit dem Mitte September zu rechnen ist. So werden die Tester noch genügend Zeit haben, sie zu validieren. Am maximalen Speicherbedarf von Firefox, der kurzfristig anfallen kann, wird sich durch die Patches wohl nichts ändern, im Durchschnitt sollte der belegte Speicher aber deutlich niedriger liegen als bisher.

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