Mozilla Flux

Mozilla関係の情報に特化したブログです。

JARファイルの処理を効率化してFirefoxのパフォーマンスを高める工夫

Firefoxの起動時間を短縮するための調査・研究がついに本格化してきた。たとえば、開発責任者の一人Dietrich Ayala氏が『Firefox Performance: The “don’t touch the damn disk” edition.』で紹介している、JAR(JavaARchive)ファイルの処理の効率化はその一つだ。

JARファイルは複数のファイルを圧縮してアーカイブにするものだが、Firefoxや他のMozillaアプリケーションでよく使われているため、この処理を改善すればアプリケーションの高速化が見込める。担当者のTaras Glek氏は、JARファイルのコンテンツをメモリにマップする(Bug 504864)とともに、数多くの小さなJARファイルをbrowser.jarとtoolkit.jarという二つの大きなファイルにまとめる(Bug 468011)ことにした。ディスクアクセスは時間的なコストが高いため、極力減らそうというわけだ。

効果がはっきり出たのは、ページロードのテストである。Tp4と呼ばれる新しいテストにおいて、Windows XPでは6%、Linuxでは7.8%も数値が改善した。

ただ、当初の目的であった起動時間については、今のところウォームスタートのテストしか行えておらず、そのテストでは目立った改善が見られなかった。とはいえ、Firefoxの起動時間として通常言及されるのは初回起動(コールドスタート)である。ディスクアクセスが減少するのだから、おそらく一定の高速化は見込めるはずだ。

これらの成果は、既にTrunk(Minefield/3.7a1pre)に取り込まれている。Firefox 3.6への投入は時期尚早として見送られることになっても、Firefox 3.7には確実に入る。