Chakra

From Wikipedia, the free encyclopedia

Chakra(チャクラ)はマイクロソフトウェブブラウザWindowsランタイム上のアプリケーションで使用されるJavaScriptエンジンコードネーム[1]である。

プラットフォーム
Chakra
ChakraCore
ライセンス プロプライエタリ(プライベート バインディング), MIT License (ChakraCore)
概要 開発元, プラットフォーム ...
Chakra
開発元 マイクロソフト
プラットフォーム
Chakra
ChakraCore
種別 JavaScriptエンジン
ライセンス プロプライエタリ(プライベート バインディング), MIT License (ChakraCore)
テンプレートを表示
閉じる

Internet ExplorerHTMLレンダリングエンジンであるTridentMicrosoft Edge用にEdgeHTMLとしてフォークされたのと同じく、Chakraもまたフォークされ、Internet Explorer用は従来通りJScript9.dll、Microsoft Edge用にChakra.dllと分離されている[2]

歴史

JScript9.dll

Internet ExplorerのJavaScriptエンジンである。JavaScript互換エンジンであるJScriptに代わる新しいJavaScriptエンジンとしてInternet Explorer 9から搭載された[1]。 Internet Explorer開発終了に伴い、保守のみ行われている。

バージョン 9.0

Internet Explorer 9に含まれるバージョンである。32 ビット版Chakraと 64 ビット版Chakraでは機能差があり、64 ビット版にはJIT コンパイラが含まれておらず[3]、性能差がでた[3]。 競合相手であるWebKitの開発者が開発したベンチマーク スイートのSunSpider JavaScript Benchmarkを使用したパフォーマンス比較では、32 ビット版での比較でInternet Explorer 7のJScript 5.7では約50倍、Internet Explorer 8のJScript 5.8より約18倍の処理速度が向上した[4]

機能強化点
  • 処理の遅延化や回避、アイドル時間の活用、処理並列化
  • 複数のCPUコアを利用した並列実行の対応や高速に処理可能なCPU命令の使用(SSE2など)
  • インタプリタの改善
  • インラインキャッシュの導入
  • Internet ExplorerへJavaScriptエンジンの統合[5]
    • COMを使用してのDOMバインド処理を廃止
    • JavaScriptエンジン側のDOMとInternet Explorer側のDOMへ統合し単一DOM化
  • デッドコード削除[6]
  • ECMAScript 5の対応

バージョン 10.0

Internet Explorer 10に含まれるバージョンである。 Windows 8およびWindows RTと同じくWindowsの新しいAPIとして発表されたWindowsランタイム上に構築されるWindows ストアアプリのJavaScriptエンジンとしても使用されている[7]。 Chakra 9.0にはあった32ビット版と64ビット版の性能差はなくなり、ARMアーキテクチャも同等品質のものが発表された。 SunSpider JavaScript Benchmarkを使用したパフォーマンス比較では、Chakra 9.0より25%処理速度が向上した[8]

機能強化点
  • 64ビット版に対応[9]
  • ARMアーキテクチャに対応[9]
  • ECMAScript 5.0 Strict Modeの対応
  • 型指定された配列の強化
  • JITコンパイラの改善
  • ガベージコレクションの改善
  • 浮動小数点演算の高速化

バージョン 11.0

Internet Explorer 11に含まれるバージョンである。 SunSpider JavaScript Benchmarkを使用したパフォーマンス比較では、Chakra 10.0より9%処理速度が向上した[10]

機能強化点
  • 型指定された配列の強化
  • コードのインストルメント化
  • JavaScript拡張機能
    • ブロック スコープ (let, const) の対応
    • コンテナ オブジェクト (Set, Map, WeakMap) の対応
    • __proto__プロパティの対応
  • ECMAScript Internationalization APIの対応

Chakra.dll

Microsoft EdgeのJavaScriptエンジンである。Windows 10 Insider Previewにてアップデート プレビュー版が定期的に公開されており、Windows 10のアップデートで定期的にChakraのアップデートが行われている。

ECMAScript 6の仕様準拠や、WebRTC、asm.jsなどの対応が行われている。

ChakraCore

マイクロソフトがChakraをウェブブラウザなどから分離した純粋なJavaScriptエンジンとしてGitHubでChakraCoreという名前でオープンソース化した[11]

脚注

Related Articles

Wikiwand AI