Firefox web browser - Faster, more secure & customizable

MozillaはFirefoxのメモリ使用量を削減するための取り組みを続けている。ここ6ヶ月の間に実施されたメモリ使用量削減に関する取り組みが「MemShrink Progress, weeks 13-18」において紹介されている。紹介されている取り組みは次のとおり。

  • Mac OS X Snow Leopardで動作するFirefoxでメモリ管理にjemallocを使用するように変更。メモリフラグメンテーションの削減が期待できる(これでWindows、Linux、Android、Mac OS Xのすべてでjemallocが使用されるようになった)。TigerとLionに対してはまだ実施していないため、同様の作業をそれらプラットフォーム向けFirefoxに対しても実施する。
  • タブをバックグランドで展開した場合、そのタブが表示されるまで画像データをデコードしないように変更。結果として、画像を大量に使うサイトをブラウズする場合などにメモリの使用を抑えるとともにプロセッサ負荷の低減も実現できる。
  • 正規表現処理における遅延処理の導入。結果として10MBまたは場合によっては100MBほどのメモリ使用量の削減が期待できる。また、GCによってより迅速にメモリが回収されやすくなるという特徴もある(ただしいくらかパフォーマンスの低下が観測されており、バグを含んでいる可能性がある)。
  • nsTArrayをnsAutoTArrayへ置き換えを進めた。結果、メモリ確保コール(malloc)のうちの3%ほどを削減することに成功。また同様の処理を他のパートでも実施し、こちらは1%の削減に成功。結果としてヒープメモリのフラグメンテーションの低減が期待できる。
  • JSArenaの書き換えを実施。無駄なメモリ使用のいくらかが削減された。

Firefoxの最新開発版は「Firefox 10」。上記取り組みのうちいくつかは「Firefox 9」でも導入されることになるが、すべての機能はFirefox 10で導入されるものとみられる。現在のスケジュールのままリリースが実施されれば、Firefox 10は2012年1月31日には提供されることになる。メモリ使用量の削減の取り組みは現在も進められており、さらなる改善が期待できる。