BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Microsoft: EdgeはChromeやFirefoxよりもパフォーマンスが改善している

Microsoft: EdgeはChromeやFirefoxよりもパフォーマンスが改善している

原文(投稿日:2015/05/21)へのリンク

この記事は、Chakraエンジンのパフォーマンス最適化結果の概要と、Edge, Chrome, FirefoxのOctaneとJet Streamベンチマークの結果に関する概要である。

Redmondのブラウザーメーカーは、開発者から見たMicrosoft Edgeで述べたように、Web技術、Web標準、遵守に向けて彼らの態度を変更した。いくつかの古いIEコンポーネントを破棄と新しいレンダリングエンジンにHTML, JavaScript, CSS標準の実装を決めただけでなく、彼らの長い課題であったパフォーマンスに対処しはじめた。

IEの主なパフォーマンスのボトルネックは、JavaScriptに関する処理にあり、MicrosoftはEdgeの新しいバージョンのChakraでこれらの一部を修正した。これらの拡張のいくつを提示する(詳細はこれこれ):

  • Chakraは、より少ない最適化を実行するシンプルなJITコンパイラを持っており、その結果コードをすぐに実行することができる。プロファイリングは継続され利用可能なときには、エンジンはフルJITコードに切り替わる。シンプルJITもまた、バックグラウンドスレッドで実行される。
  • 基盤となるハードウェアに応じて、Chakraは複数のJITスレッドを起動して、より高速なコンパイルが可能になる。それにより、TypeScriptは最大30%高速になる。
  • 最終的なGCマークパスは、メインスレッドとGCスレッドの両方で実施可能で、最終的なマークパスのために最大48%のメインスレッド割り込みを削減した。
  • コードのインライン化オーバーヘッドは、静的データを使うことで低減されている。
  • Chakraは、クロスファイルスクリプトのインライン化が可能になった。
  • 今後のES6のconstでは、変数が変更されたかどうかをチェックする必要がなくなる。 constを使わないWebアプリの場合、Chakraは変更されないグローバル変数を識別してconstとしてそれらを扱うことで、検索する時間を節約することができる。
  • JITコンパイラーは、大半のトップ10K Webサイトで使用されているUglifyJS で生成された縮小されたコードをよりよいパフォーマンスで実行できるように最適化する。
  • JITはtry-catchブロック内のコードを最適化できるようになった。

これらの改善と最適化により、Edgeはどのぐらい早くなったのだろうか。 Microsoftによると、Edgeは下の図に示すように、ChromeやFirefoxよりも高速になった:

edge-octane2 edge-jetstream

(画像を大きくするには、クリックする。ベンチマークは、MicrosoftによってHP Compaq 8100 Elite, i7 860 2.80GHz (4 cores), 12GB RAM上の64ビットWindows 10 TPと64ビットブラウザで実施された。)

私たちはIE11と比較して、どれだけEdgeのパフォーマンスが向上したかをお知らせした。それはまた、GoogleとMozillaが彼らのブラウザーのベンチマークポイントをさらに上げる余地があることを意味する。

この記事に星をつける

おすすめ度
スタイル

BT