Microsoft Edgeは、GoogleのOctane64とAppleのJetStreamベンチマークの両方ですべての2.0ビットブラウザをリードするようになりました

読書時間アイコン 3分。 読んだ


読者は MSpoweruser のサポートを支援します。私たちのリンクを通じて購入すると、手数料が発生する場合があります。 ツールチップアイコン

MSPoweruser の編集チームの維持にどのように貢献できるかについては、開示ページをお読みください。 続きを読む

マイクロソフトエッジ

Windows10とMicrosoftEdgeにより、MicrosoftはChakraJavaScriptエンジンのパフォーマンスを大幅に向上させています。

以下のパフォーマンスを改善するために行われた変更についてお読みください。

  • Windows10とMicrosoftEdgeでは、ChakraのJITコンパイラと実行パイプラインが最適化され、Chakraは、インライン化によって得られるパフォーマンス上の利点を失うことなく、JavaScriptファイル全体で定義された関数を効率的にインライン化できるようになりました。 この最適化により、既存のWeb上のより多くのJavaScriptコードをインライン化し、MicrosoftEdgeでより高速に実行できるようになります。
  • Windows10とMicrosoftEdgeでは、ChakraのパーサーとJITコンパイラーの最適化を開始して、グローバルに定義され、プログラムの実行時に変更されない整数の非定数変数宣言を識別します。 識別されると、Chakraによって生成されたJITされたコードは、プログラムの実行期間中に形状と値を変更しないグローバルに定義された変数に関連するルックアップコストを大幅に削減できるため、パフォーマンス指向の価値提案を拡張できます。 ECMAScript 6のconstステートメントは、現在のWebで定数がどのように使用されるかを示しています。
  • Windows 10まで、Chakraはtry-catchブロック内のコードを最適化しませんでした。 Windows10およびMicrosoftEdgeでは、Chakraのコンパイラーに、try-catchブロック内で定義されたコードを抽象化し、そのために最適化されたJITコードを生成する機能が追加されました。 例外がスローされない場合、Chakraは、通常のJITされたコードとほぼ同等のtryブロック内でそのようなコードを実行するようになりました(try-catchが存在しなかったかのように)。
  • 実験により、縮小されたコードの使用は、存在するWebで非常に人気があり、とりわけ、UglifyJSは今日のWebで非常に一般的に使用されていることが確認されました。 そのため、Windows10とMicrosoftEdgeでは、新しい高速パスを追加し、インライン化を改善し、ChakraのJITコンパイラでいくつかのヒューリスティックを最適化して、縮小されたコードが縮小されていないバージョンよりも速くない場合でも同じ速度で実行されるようにしました。 これらの変更により、テストしたUglifyJSを使用して縮小された個々のコードパターンのパフォーマンスが20〜50%向上しました。
  • Windows10およびMicrosoftEdgeでは、Webでの配列組み込みの人気を考慮して、Chakraは、エンジンが特定の配列をトラバースする間、値の取得方法を最適化しました。 この最適化は、配列で穴が見つかったときに、プロトタイプチェーンにアクセスし、インデックスに対応する数値プロパティを検索するという余分なオーバーヘッドを取り除くのに役立ちます。 この最適化により、ChakraおよびMicrosoftEdgeに組み込まれているECMAScript5Array#indexOfのパフォーマンスが5倍以上向上します。

今すぐMicrosoftEdge すべての64ビットブラウザをリード GoogleのOctane2.0ベンチマークとAppleのJetStreamベンチマークの両方で、 クラスをリードするECMAScript6の実装.

MicrosoftEdgeのパフォーマンス1 MicrosoftEdgeのパフォーマンス

それについての詳細を読む こちら.

トピックの詳細: ブラウザ, エッジ, ジャバスクリプト, マイクロソフト, 性能