Microsoft Edge の JavaScript エンジン Chakra
Chrome では V8 という JavaScript エンジン が使われており、
IE では Chakra というものが使われています。
Microsoft Edge での変更
ブラウザで動作する DLL が Edge で変更されました。
いにしえの jscript が chakra.dll になっています。
IE 11
レンダリングエンジンに mshtml.dll
JavaScript エンジンに jscript9.dll
Microsoft Edge
レンダリングエンジンに edgehtml.dll
JavaScript エンジンに chakra.dll
Chakra
JIT が最適化されました。
既存の使っている JIT に内包されるように、高速な実行できる Simple JIT が追加。
また、複数のスレッドを使って JIT が行われるようになったようです。
オブジェクトはキーが増えると別のオブジェクトとして内部でコピーするようで、
Edge では現状のインラインキャッシュが2倍以上高速になり、
今回追加されたキーが増えてもコピーされない
特殊なオブジェクトタイプでは更に 20% 向上しました。
配列の最適化が行われました、
for でループする際、変数で上限値を設定しなくても高速化されるようになるとか。
JS を Minify したものがさらに高速化されるようになりました。
どうやら、Edge のガベージコレクションはマーク・アンド・スイープ方式らしいです。
Edge はフォアグランドスレッドでマークしていて、バックグラウンドスレッドが開いている場合、
バックグラウンドスレッドでもマークの処理させることでガベージコレクションを高速化させます。
ECMAScript6
現状実行スピードは Chrome、Firefox より速いとのこと。
また、Edge は 81% 機能をカバーしているようです。
(FF 68%、Safari 51%、Chrome 45% )
Edge で追加された JS の機能については、追々書いていこうと思います。
参照元:
Microsoft Edge Web Summit 2015 / Chakra: The JavaScript Engine that powers