先週末にNetWalkerを弄っていて、Ubuntu 10.04ベースに変えたんだけど (カーネルはまだ変えてないけど、ポーティングは終了してるから動作テストとかしないと)、ARM版の10.04だと、Chromiumがレポジトリに入っているんだよね。起動速度はFirefoxよりは速いんだけど、ちょっとした疑問が。"V8ってARMでも速いの?"。
そもそもTraceMonkeyのアーキテクチャとして、CPUへの依存コードというのは最小限になっていて、LIRをコンパイルするだけになっている。なので、TraceMonkeyの肝はLIRの質とTracing可能な条件を増やすことで、そんなに各CPU毎の最適化は必要ない(もちろん最終的には必要なのだが)。また、V8ってのはそのような形式ではなくて、ゴリ押しでコンパイルするだけという割り切った仕様になってる。だから、各CPU毎の最適化ってのはちょー必要で、x86以外ちゃんとやってるのかどうかってのが疑問だった。
また、W3C Japanese IGでアクセスのNetFrontの開発の方にお会いした時に、各社ARM上でのJITってどうするのって話になって、「MozillaはARM用のJITは投入されているけど、他社はまだまだ正式投入はまだみたいだね。知る限りNitroもARMのJIT持ってるし、V8もARMのJITあるよ。」という風に答えていたんだけど、実測したことなかったし、ARM上のベンチマークも見たことがない
ということで、いろいろとテストしてみた。
グラフが汚いのはGoogle Docsのせいだけど、TraceMonkeyの方が速いってどんだけ他の会社手を抜いてんねん。Mobileだって重要だろうに。でも、凄く興味があるデータがとれた。
ちなみに、V8ベンチはTraceMonkeyよりもV8の方が速いのは当然。でもx86の時と比べて差が低くなってる。