Chakra
開発元 | マイクロソフト |
---|---|
プラットフォーム |
|
種別 | JavaScriptエンジン |
ライセンス | プロプライエタリ(プライベート バインディング), MIT License (ChakraCore) |
Chakra(チャクラ)はマイクロソフトのウェブブラウザとWindowsランタイム上のアプリケーションで使用されるJavaScriptエンジンのコードネーム[1]である。
Internet ExplorerのHTMLレンダリングエンジンであるTridentがMicrosoft 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]。
- 機能強化点
バージョン 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]。
脚注
[編集]- ^ a b Shanku Niyogi (2010年3月19日). “The new JavaScript Engine in Internet Explorer 9” (英語). IEBlog. 2015年1月9日閲覧。
- ^ “Targeting Edge vs. Legacy Engines in JsRT APIs” (英語). MSDN. 2015年6月13日閲覧。
- ^ a b EricLaw (2009年5月29日). “Q&A: 64-Bit Internet Explorer” (英語). IEInternals. 2015年1月9日閲覧。
- ^ 柳英俊 (2011年4月26日). ““速い”“安全”“美しい”満を持して登場した「Internet Explorer 9」”. Impress Watch. 2015年1月9日閲覧。
- ^ Dean Hachamovitch (2010年8月4日). “HTML5, Modernized: Fourth IE9 Platform Preview Available for Developers” (英語). IEBlog. 2015年1月9日閲覧。
- ^ Dean Hachamovitch (2010年11月17日). “HTML5, and Real World Site Performance: Seventh IE9 Platform Preview Available for Developers” (英語). IEBlog. 2015年1月9日閲覧。
- ^ Steven Sinofsky (2012年2月9日). “Building Windows for the ARM processor architecture” (英語). Building Windows 8. 2015年1月9日閲覧。
- ^ 阿久津良和 (2013年2月27日). “Windows 7/Windows Server 2008 R2に対応した「Internet Explorer 10」”. マイナビ. 2015年1月9日閲覧。
- ^ a b Andrew Miadowicz (2012年6月21日). “IE10 と Windows 8 における JavaScript のパフォーマンスの進歩”. IEBlog 日本語. 2015年1月9日閲覧。
- ^ Yoichi Yamashita (2013年11月8日). “Windows 7用「Internet Explorer 11」リリース、JavaScript実行が9%高速”. マイナビ. 2015年1月9日閲覧。
- ^ “Microsoft、「Edge」のJavaScriptエンジン「Chakra」をオープンソース化へ”. 2016年1月14日閲覧。