DevSumi2009 ブラウザJavaScript高速化JITバトル最終決戦
JavaScriptのVMを実装する上でのポイント
- クラスがないのをなんとかする(JS固有の問題)
- ハッシュ表検索+配列アクセスは遅い
- 仮のClassを設定する。構造が同じなら同じClassとする。
- 実行時に仮Classにとってイレギュラーなプロパティに代入が行われた場合は、その場で新しい仮Classを作る。
- メソッド呼び出しの高速化(既存VM技術の応用)
- 正規表現の高速化(Webアプリのキモ)
今後の見所
- ブラウザを含めたアプリの総合性能(JavaScript単体が速くてもしょうがない)
- Gmailベンチ
- モバイル機器での性能
- 消費メモリを少なくする
- ARM CPU向けの高速化
- IEの動向
- 今は遅すぎる