Google Chrome、V8

2008-09-07
Chrome の V8 が早いのは数値計算とプロパティアクセスのみ。Web UI のボトルネックであろう DOM と文字列処理は早くない。とのこと。

Chrome って、実際のところ、Google 特有の「2割ルール」で作られたもので、元々は会社の戦略として作られたものではないんじゃないかって言われたりも。となると、「V8の設計者はただの速度バカ」なんて叩かれてますけど、それで当然というか、Google も「ええその通りですよ、それが何か?」という感じなのでは。(今後は会社の戦略に組み込まれていくんでしょうけど、少なくとも現状は。)

それと、Chrome のコードって Windows に相当精通してないと書けないようなコードが見受けられるそうなので、MS から転職してきた社員が書いてるんじゃないかって話しも。となるとますます、会社の戦略じゃなくて「2割ルール」の産物説が濃厚で。「MS でやらしてもらえなかったから Google に移ってやった」みたいな。

あと、そういや、JavaScriptVM 化して早くなりそうなところというと、関数呼び出しもそうなんじゃなかろうか。関数の中身を VM コード化してキャッシュするとかなりスピード上がるはずなので。再利用性だの可読性だののために関数を小さく分割しまくってるコードで試すとパフォーマンスどんな感じだろうか。

とりあえず、Google 的には Chrome でブラウザ覇者を狙うつもりはなくて、「Chrome に対抗意識を燃やして IEJavaScript が早くなればそれでいい」的な発言してるんで、要は「Google の Web アプリがもっさりしてるのは俺らが悪いんじゃないよ」とだけいえればOK?「関数の手動インライン展開なんて嫌だよ、JavaScript エンジンの方を賢くしてくれよ」的な。

ただし、MS の側からすると、JavaScript エンジンを賢くする気どこまであるかなぁ。むしろ MS としては JavaScript エンジンを DLR で置き換えたいくらいの気持ちだろうし。「JavaScript as an Assembly Language」なんて発想やめて、ブラウザのアセンブリ言語を CoreCLR にしたいという。