V8 memo

ここ数ヶ月、V8のコードばかり見ている気がする。(気がするというか実際にみているんだが。)
他のエンジンに比べると起動が遅い気がしなくもないが、いろいろやっていたら、かなり短縮できることがわかったので、興味ある人がいるのかどうかわからないけど、備忘録的に。

まずSconsのオプションでsnapshot=onというオプションをつけると、かなり早く起動するようになる。sconsのhelpにも書いてあるけど、起動高速化用のオプションらしく、事前に標準ライブラリをコンパイルしnativeコードにして、それを起動時に読み込むみたい。起動時間が半分程度になる。なんでデフォルトがoffかは不明。おそらくクロスの環境を考えたときに不都合がおきるから?事前にコンパイルするのをmksnapshotで実行するのだが、それが連続で発生するので、クロスだとエラーになる。クロスの場合はちょっといじって、一旦、snapshotでできるファイルを取っておいて、それをemptyとかと置き換えればうまくいく。詳しくは各個人で^^;

あとは劇的には早くはならないんだけど、その組み込む標準ライブラリを複数にまとめたり、最適化したりして、さらにはruntime.ccにいくつか追加したりすると、ちょっとは早くなるみたい。