Googleのトップページを開いた時の各ブラウザでのCPU使用率

 os0xさんが追試をしてくれたので、ちょっとだけ反応。
 私も別のマシンで確認してみました(というか、前のエントリ書いた際のPCが今手元にない)が、Core2 Duo 3GHzのマシンでgoogle.co.jpのトップを10個ぐらい開くと、FirefoxのCPU使用率が4〜7%ぐらいでした。検証時の環境はCore2 DuoのノートPCで、負荷が低いときは1GHz動作なので、クロック比で単純に計算して一個あたり4〜7 * 3 / 10で、ここから計算した値でも、1.2〜2%になります。概ね前のエントリで挙げた数値であると言えると思います。環境はUbuntu 9.04で、Firefoxは3.5.2を使っています。CPUの使用率はtopコマンドで見ました。
 os0xさんはFireBugでプロファイルを取っておられますが、mozilla/js/jsd/jsd_step.cあたりをちょっと見た限り、FireBugのプロファイラはJavaScriptの部分しか計測してくれないように見えます。今回のケースだと、実行されるJavaScriptのコードは非常に短いので、他の部分の実行時間まで見ないとCPU使用率についてはわからないと思います。実際、タイマー処理が呼ばれる度に、実行権限のチェックだとか、タイマーの後始末とかやってるようです。
 と言う訳で、JavaScriptの実行自体にはそれほど時間がかからなくとも、毎秒100回のタイマー呼び出しで時間がかかることはあり得るだろうし、CPU使用率からみて実際そうなっているのだろう、というのが私の意見です。
 追記:コメントへの返信ですが、長くなるので本文に追記します。

os0x
WinXP のFirefox3.5、Core Solo 超低電圧版 U1300(1.06GHz)にて、Googleのトップページを20枚開いた状態でのFirefoxのCPU使用率は0%です(たまに数10%に行きますが、GCでしょう)。
で、この件はUbuntu 9.04固有の問題かもしれません。
Ubuntu 9.04 CPU Firefox」でググってみるとそれっぽいネタが結構ヒットします。
具体的には↓あたりは該当しませんか?
http://eunheui.cocolog-nifty.com/ubuntu/2009/04/904-jaunty-cpu-.html

 うーん、os0xさんの示されたURLは、スクロールが遅いというX Window Systemアクセラレーションの問題なので、これは今回は関係ないと思います。Ubuntu 9.04固有の問題なのかどうかを調べるために、いくつか他の環境で調べてみました。google.co.jpのトップを10個開いた結果です。

  • Linux
    • Firefox -> 4〜7%
    • Google Chrome (開発版なので参考程度に) プロセスが分かれててよくわからないけど合計で50%以上は余裕で使う
    • midori 19〜22%
  • Windows 7 (VM上)
    • Firefox -> 0%
    • Google Chrome -> プロセスが分かれててよくわからないけど合計で50%以上は余裕で使う
    • IE8 -> 0%
  • MacOS X
    • Firefox -> 40〜45%
    • Safari -> 借り物なので詳しく試せなかったが、10個開いてもCPU使用率の上昇はほぼ見られない

 どれも、簡単に手に入る最新の安定版のバージョンを使っています。(Linux版のGoogle Chrome以外。)MacOS XはCoreDuo 1.8GHzとちょっと古いマシンですので、新しければ使用率はもう少し下がるでしょう。また、Google ChromeはCPUを使いすぎるので5タブまでしか開いてません。
 と言う訳で、Ubuntu 9.04固有の問題ではないが、ブラウザのタイマーの実装にかなり大きく影響される、という結果になりました。(OS毎に環境が違うので、単純に数字を比較はできませんが。)
 Google ChromeはすごいCPUを使ってますが、これはセキュリティ機構が影響してるんじゃないかなと思います。もしくは、VMなのがよくないのかもしれない。