Firefox 4 betaを入れてみた

 Firefox4 beta7から、コンパートメントという機構が導入されるらしい。これは、GCするメモリ空間をタブ単位に分ける仕組みで、これによってGCが効率化される。以前から、Firefoxはタブを大量に開いたときにパフォーマンスの低下が著しく、その一因にGCがあるような気がしていた。急に1〜2秒フリーズする、というような挙動がよく見られたからだ。
 Firefox4自体のリリースは残念ながら2011年の初め頃になるらしいのだが、せっかくベータ版が出ていることであるし、一度試しに使ってみることにした。
 Firefox 4のバイナリは、UbuntuのPPAからダウンロードしてきたものを使わせてもらった。これはdailyと入っていることからもわかるように、日々のテスト用のバイナリであって、安定版ではないので、そこのところは注意。
 Firefoxの大きな魅力として、拡張機能による機能追加があると思う。拡張のないFirefoxはクリープの入ってないコーヒーみたいなものだ、というと言い過ぎかもしれないが、それぐらい言いたいところである。個人的には、Firefoxを使うなら、Tree Style Tab, Multiple Tab Handler, FireGestures, GreaseMonkeyの4種類はぜひ入れておきたい。その他にもいくつか欲しい拡張はあるけど、それらはまぁなくても我慢できる。
 Tree Style Tab, Multiple Tab Handler, FireGesturesの3種類に関しては、最新版や開発版を入れたらFirefox 4 beta7(正確には、beta8preというバージョンになってるっぽい)でも動作した。不具合が出る可能性はもちろんあるが、今のところは不具合には遭遇していない。
 残念ながらGreaseMonkeyはNightly版でも動かなかった。しかし、ScriptishというGreaseMonkeyのフォークプロジェクトがあり、こちらは動作した。GreaseMonkeyはかなり古いFirefoxまでサポートしており、そのためにいろいろと問題があるようだ。ScriptishはFirefox 4専用で、その代わりちょっと機能が増えてたり、動作が効率的だったりするらしい。ただ、使っている環境では日本語のメニュー表示が出来ていなかったので、githubの方にあるリポジトリから直接ダウンロードしてきて、日本語用のファイルを削除してしのいでいる。これは後でどこに問題があるかを調べてレポートしなければ。
 という訳で、欲しい拡張に関してはほぼ全部が現状でも使えることがわかった。それぞれの拡張の作者に感謝。
 動作に関しては、30分ほど試した感じでは安定して動いており、特に問題は発生していない。ただ、Firefox 3.6よりも少しメモリを食うようで、何度かOut of memoryでkillされてしまった。もう、メモリ2GBでは足りない時代なのね…。
 肝心の速度面だが、自分の使い方が極端なのかもしれないが、かなり高速化していると感じる。タブを100個ぐらい開いているせいか、Firefox 3.6ではタブの切替時に引っ掛かりを感じるし、textareaで文章を打っているときにも1分に1回ぐらいフリーズが発生していたのだが、そのどちらもだいぶ軽減された。体感できるのだから相当な改善具合であると言える。
 これからベータ版をしばらく使うか、それとも3.6にもどるかはまだ決めていないけれど、とにかくFirefox 4の正式リリースが楽しみになってきた。