「Chakra」の版間の差分

m
編集の要約なし
(→‎歴史: cl JSript9.dll, Chakra.dll, ChakraCore で節分けと内容調整)
タグ: コメントアウト
m編集の要約なし
| 開発元 = [[マイクロソフト]]
| 対応プラットフォーム = [[Microsoft Windows]]
| 種別 = [[JavaScript]] エンジン
| ライセンス = [[プロプライエタリ・ソフトウェア]]
}}
 
'''Chakra''' [[マイクロソフト]]の[[ウェブブラウザ]]と [[Windows Runtimeランタイム]] 上のアプリケーションで使用される [[JavaScript]] エンジンの[[コードネーム]]<ref name="ieblog_100318">{{Cite web|title=The new JavaScript Engine in Internet Explorer 9|url=http://blogs.msdn.com/b/ie/archive/2010/03/18/the-new-javascript-engine-in-internet-explorer-9.aspx|author=Shanku Niyogi|work=IEBlog|language=英語|date=2010-03-19|accessdate=2015-01-09}}</ref>である。
 
[[Internet Explorer]] [[HTMLレンダリングエンジン|HTML レンダリング エンジン ]]である [[Trident]] [[Microsoft Edge]] 用に [[EdgeHTML]] として[[フォーク (ソフトウェア開発)|フォーク]]されたのと同じく、Chakra もまたフォークされ、Internet Explorer 用は従来通り JScript9.dll、Microsoft Edge 用に Chakra.dll と分離されている<ref>{{Cite web|title=Targeting Edge vs. Legacy Engines in JsRT APIs|url=https://msdn.microsoft.com/en-us/library/dn903710%28v=vs.94%29.aspx|work=MSDN|language=英語|accessdate=2015-06-13}}</ref>。
 
== 歴史 ==
=== JScript9.dll ===
[[Internet Explorer]] JavaScript エンジンである。JavaScript 互換エンジンである [[JScript]] に代わる新しい JavaScript エンジンとして [[Internet Explorer 9]] から搭載された<ref name="ieblog_100318" />。
Internet Explorer 開発終了に伴い、保守のみ行われている。
 
==== バージョン 9.0 ====
[[Internet Explorer 9]] に含まれるバージョンである。32 ビット版 Chakra と 64 ビット版 Chakra では機能差があり、64 ビット版には [[実行時コンパイラ|JIT コンパイラ]]が含まれておらず<ref name="ieinternals_090529">{{Cite web|title=Q&A: 64-Bit Internet Explorer|url=http://blogs.msdn.com/b/ieinternals/archive/2009/05/29/q-a-64-bit-internet-explorer.aspx|author=EricLaw|work=IEInternals|language=英語|date=2009-05-29|accessdate=2015-01-09}}</ref>、性能差がでた<ref name="ieinternals_090529" />。
競合相手である [[WebKit]] の開発者が開発したベンチマーク スイートの SunSpider JavaScript Benchmark を使用したパフォーマンス比較では、32 ビット版での比較で [[Internet Explorer 7]] JScript 5.7 では約 50 倍、[[Internet Explorer 8]] JScript 5.8 より約 18 倍の処理速度が向上した<ref>{{Cite web|title=“速い”“安全”“美しい”満を持して登場した「Internet Explorer 9」 |url=http://www.forest.impress.co.jp/docs/special/20110426_442320.html|author=柳英俊|publisher=Impress Watch|date=2011-04-26|accessdate=2015-01-09}}</ref>。
;機能強化点
:* 処理の遅延化や回避、アイドル時間の活用、処理並列化
:* 複数の [[CPU ]]コアを利用した並列実行の対応や高速に処理可能な CPU 命令の使用 (SSE2 (SSE2など)
:* [[インタプリタ]]の改善
:* インライン キャッシュの導入
:* Internet Explorer JavaScript エンジンの統合<ref>{{Cite web|title=HTML5, Modernized: Fourth IE9 Platform Preview Available for Developers|url=http://blogs.msdn.com/b/ie/archive/2010/08/04/html5-modernized-fourth-ie9-platform-preview-available-for-developers.aspx|author=Dean Hachamovitch|work=IEBlog|language=英語|date=2010-08-04|accessdate=2015-01-09}}</ref>
:** [[Component Object Model|COM]] を使用しての DOM バインド処理を廃止
:** JavaScript エンジン側の DOM Internet Explorer 側の [[Document Object Model|DOM]] へ統合し単一 DOM
:* [[到達不能コード|デッド コード]]の除去<ref>{{Cite web|title=HTML5, and Real World Site Performance: Seventh IE9 Platform Preview Available for Developers|url=http://blogs.msdn.com/b/ie/archive/2010/11/17/html5-and-real-world-site-performance-seventh-ie9-platform-preview-available-for-developers.aspx|author=Dean Hachamovitch|work=IEBlog|language=英語|date=2010-11-17|accessdate=2015-01-09}}</ref>
:* [[ECMAScript]] 5 の対応
 
==== バージョン 10.0 ====
[[Internet Explorer 10]] に含まれるバージョンである。
[[Microsoft Windows 8|Windows 8]] および [[Microsoft Windows RT|Windows RT]] と同じく Windows の新しい [[アプリケーションプログラミングインタフェース|API]] として発表された [[Windows Runtime]] ランタイム上に構築される [[Windowsストア|Windows ストア]]アプリ JavaScript エンジンとしても使用されている<ref>{{Cite web|title=Building Windows for the ARM processor architecture|url=http://blogs.msdn.com/b/b8/archive/2012/02/09/building-windows-for-the-arm-processor-architecture.aspx|author=Steven Sinofsky|work=Building Windows 8|language=英語|date=2012-02-09|accessdate=2015-01-09}}</ref>。
Chakra 9.0 にはあった 32 ビット版と 64 ビット版の性能差はなくなり、[[ARM]] アーキテクチャ]]も同等品質のものが発表された。
SunSpider JavaScript Benchmark を使用したパフォーマンス比較では、Chakra 9.0 より 25% 処理速度が向上した<ref>{{Cite web|title=Windows 7/Windows Server 2008 R2に対応した「Internet Explorer 10」|url=http://news.mynavi.jp/articles/2013/02/27/ie10/|author=阿久津良和|publisher=マイナビ|date=2013-02-27|accessdate=2015-01-09}}</ref>。
;機能強化点
:* 64 ビット版に対応<ref name="ie_ja_120621">{{Cite web|title=IE10 と Windows 8 における JavaScript のパフォーマンスの進歩|url=http://blogs.msdn.com/b/ie_ja/archive/2012/06/21/advances-in-javascript-performance-in-ie10-and-windows-8.aspx|author=Andrew Miadowicz|work=IEBlog 日本語|date=2012-06-21|accessdate=2015-01-09}}</ref>
:* [[ARM]] アーキテクチャに対応<ref name="ie_ja_120621" />
:* [[ECMAScript]] 5.0 Strict Mode の対応
:* 型指定された配列の強化
:* JIT コンパイラの改善
:* [[ガベージコレクション]]の改善
:* 浮動小数点演算の高速化
 
==== バージョン 11.0 ====
[[Internet Explorer 11]] に含まれるバージョンである。
SunSpider JavaScript Benchmark を使用したパフォーマンス比較では、Chakra 10.0 より 9% 処理速度が向上した<ref>{{Cite web|title=Windows 7用「Internet Explorer 11」リリース、JavaScript実行が9%高速|url=http://news.mynavi.jp/news/2013/11/08/064/|author=Yoichi Yamashita|publisher=マイナビ|date=2013-11-08|accessdate=2015-01-09}}</ref>。
;機能強化点
:* 型指定された配列の強化
:* コードのインストルメント化
:* JavaScript 拡張機能
:** ブロック スコープ (let, const) の対応
:** コンテナ オブジェクト (Set, Map, WeakMap) の対応
:** __proto__ プロパティの対応
:* ECMAScript Internationalization API の対応
 
=== Chakra.dll===
[[Microsoft Edge]] JavaScript エンジンである。[[Microsoft Windows 10|Windows 10]] Insider Preview にてアップデート プレビュー版が定期的に公開されており、Windows 10 のアップデートで定期的に Chakra のアップデートが行われている。
 
ECMAScript 6 の仕様準拠や、[[WebRTC]]、asm.js などの対応が行われている。
<!--
[[Microsoft Windows 10|Windows 10]] の開発途中の公開版の Windows Technical Preview 版では、Chakra にいくつかの機能強化が行われていることが発表され、UI 応答性とパフォーマンスがそれぞれ向上している。