Firefox 3.0が重い理由とgoogle Chrome [パソコン一般]
別の用件で調べていたら、Firefoxが重いのはすでにバグとして認識されていて、3.5で直るらしい。
http://www.atmarkit.co.jp/flinux/rensai/watch2009/watch05a.html
5月版 Firefoxのプチフリーズ問題から始まった大論争
Linux版Firefoxを使っているとプチフリーズが頻発して使い物にならない。原因はfsync()だ」というのです。調査の結果、fsync()はFirefox本体が呼んでいるのではなく、Cookieなどの格納に使っていたSQLiteから呼ばれていることが分かりました。
(中略)
また、DBの書き込みという観点でいうと、メタデータで書き込み必須なのはファイルサイズのみで、更新時刻などは重要ではありません。従ってSQLiteは、fsync()ではなくfdatasync()かsync_file_range()を使うべきです。DBライブラリがfsync()とfdatasync()で速度がまったく違うことを意識していないこともオカシイわけです。
もっというと、ページ遷移ごとに2.5Mbytesの書き込みを行うこと自体、SSDのような書き込み回数に制限のある媒体では自殺行為です。つまり、どう見ても設計が考慮不足だったわけです。
これ、WindowsだとEXT3ではなくNTFSになるけど、SQLiteがかき出しに行くのは同じだと思われます。設計の問題なので。Linuxだと、EXT3との相性が悪くて問題になったが、Windowsの場合だと、動画の再生中に起きてひどいことになってるのだと思われる。
で
・SQLiteはfdatasync()を使うように書き直す
・Firefox は3.1(注2)以降、オンメモリデータベースとオンディスクデータベースのハイブリッド仕様に移行し、書き込みは15~30分に1回しかディスクに反映しないようにする
3.5で直すらしい。
てか、DBがフラッシュしている間、再生している動画が止まるって明らかに設計ミスですよ。
拡張機能で好きなようにできるのはいいが、こんな落とし穴があったとは・・・
2.xのときはIE7が対抗馬だったが、今はGoogle Chromeもある。
というわけでGoogle Chromeを入れてみた。
インストールするときの注意点として、「テンポラリフォルダがルートだとインストールできない」
ノートはRAMディスクをテンポラリにしていたので、見事にはまった。
ブックマークや設定は問題なく移行してくれたので、普通に使える。
Firefoxから移行して最大の難点はRSSリーダが標準でついてこないこと。
これは、要望が多かったせいか、RSSリーダをつけることにしたらしいが、現状はついていない。
開発ポリシーの漫画をざっと読んでみたが
・ページごとの問題をブラウザ全体に波及しないように設計(プロセス分割、URL遷移チェック)
・JavaScriptをバイトコンパイルして機械語として実行
というようなことをやっているらしく、Atomノートでニコ動や広告が重いサイトを見ても特に重いと感じなくなった。
ちょっと使ってみてかなり気に入った。NetbookではChromeオススメ。
RSSについてはオンラインRSSリーダサービスを使える人はそれに移行するのも手だろう。
しばらくFirefoxとChromeの両方を使い続ける予定。
http://www.atmarkit.co.jp/flinux/rensai/watch2009/watch05a.html
5月版 Firefoxのプチフリーズ問題から始まった大論争
Linux版Firefoxを使っているとプチフリーズが頻発して使い物にならない。原因はfsync()だ」というのです。調査の結果、fsync()はFirefox本体が呼んでいるのではなく、Cookieなどの格納に使っていたSQLiteから呼ばれていることが分かりました。
(中略)
また、DBの書き込みという観点でいうと、メタデータで書き込み必須なのはファイルサイズのみで、更新時刻などは重要ではありません。従ってSQLiteは、fsync()ではなくfdatasync()かsync_file_range()を使うべきです。DBライブラリがfsync()とfdatasync()で速度がまったく違うことを意識していないこともオカシイわけです。
もっというと、ページ遷移ごとに2.5Mbytesの書き込みを行うこと自体、SSDのような書き込み回数に制限のある媒体では自殺行為です。つまり、どう見ても設計が考慮不足だったわけです。
これ、WindowsだとEXT3ではなくNTFSになるけど、SQLiteがかき出しに行くのは同じだと思われます。設計の問題なので。Linuxだと、EXT3との相性が悪くて問題になったが、Windowsの場合だと、動画の再生中に起きてひどいことになってるのだと思われる。
で
・SQLiteはfdatasync()を使うように書き直す
・Firefox は3.1(注2)以降、オンメモリデータベースとオンディスクデータベースのハイブリッド仕様に移行し、書き込みは15~30分に1回しかディスクに反映しないようにする
3.5で直すらしい。
てか、DBがフラッシュしている間、再生している動画が止まるって明らかに設計ミスですよ。
拡張機能で好きなようにできるのはいいが、こんな落とし穴があったとは・・・
2.xのときはIE7が対抗馬だったが、今はGoogle Chromeもある。
というわけでGoogle Chromeを入れてみた。
インストールするときの注意点として、「テンポラリフォルダがルートだとインストールできない」
ノートはRAMディスクをテンポラリにしていたので、見事にはまった。
ブックマークや設定は問題なく移行してくれたので、普通に使える。
Firefoxから移行して最大の難点はRSSリーダが標準でついてこないこと。
これは、要望が多かったせいか、RSSリーダをつけることにしたらしいが、現状はついていない。
開発ポリシーの漫画をざっと読んでみたが
・ページごとの問題をブラウザ全体に波及しないように設計(プロセス分割、URL遷移チェック)
・JavaScriptをバイトコンパイルして機械語として実行
というようなことをやっているらしく、Atomノートでニコ動や広告が重いサイトを見ても特に重いと感じなくなった。
ちょっと使ってみてかなり気に入った。NetbookではChromeオススメ。
RSSについてはオンラインRSSリーダサービスを使える人はそれに移行するのも手だろう。
しばらくFirefoxとChromeの両方を使い続ける予定。
コメント 0