TraceMonkey とか V8 とか SquirrelFish とか、速さも大事だけどさ…

Mozilla が開発中の次世代 JS エンジンについてのプレゼン資料 (via オレンジニュース)。たいへんよくまとまっている。書いた人グッジョブです。


TraceMonkey に限らず、Google Chrome の V8 とか Safari (WebKit) の SquirrelFish とか、なんか JavaScript 用の VM が盛り上がってるんですけど、速さばっかりが話題になっていて、メモリ消費量はあんまり話題になってないっすね。

たしかに、Web ブラウザはアプリケーションのプラットフォームとしてだけでなく、ゲームのプラットフォームにもなるだろうから、JavaScript のパフォーマンスが大事なのはその通りなんですけど、もっとメモリ消費量を減らすことも頑張って欲しいんですけど、無理ですかね。

Safari仮想メモリ 4 GB 弱、実メモリ 1.5 GB 弱使ってたりとかすると、ほんとゲンナリする。実際にはかなりの部分は rendering engine が消費してるんだろうけど、Tracing とか使うと JS エンジンも結構な量を消費しそうで、いやだ。


あと、動的言語で『最終速度は C や Java に匹敵する処理速度』(スライド 6 枚目) を追求するのって、なんか努力する方向が間違っているように思うのはワシだけだろうか。そんなことするくらいなら、動的言語より使いやすい静的言語を作るとか、動的言語なんだけど部分的に型指定できるようにするとか、そういうアプローチのほうが自然で無理がないと思う (JavaScript2.0 が ECMAScript 4 ベースでなくなったのは残念だ)。まあいったん広まってしまった言語はおいそれと言語仕様を変更できないから仕方ないだろうけど。