Chakra

Chakra(チャクラ)は、マイクロソフトが開発したJavaScriptエンジンであり、同社のウェブブラウザであるInternet ExplorerとMicrosoft Edge、そしてWindowsランタイム上のアプリケーションで利用されています。このエンジンは、WebサイトやWebアプリケーションのJavaScriptコードを実行する役割を担っており、そのパフォーマンスと機能は、Webブラウジング体験に大きな影響を与えます。

歴史



Chakraは、Internet ExplorerHTMLレンダリングエンジンであるTridentが、Microsoft Edge用にEdgeHTMLとしてフォークされたのと同様に、JScriptエンジンもフォークされました。Internet Explorer向けには従来のJScript9.dllが、Microsoft Edge向けにはChakra.dllがそれぞれ用いられるようになりました。この分離は、両ブラウザの異なるニーズに対応し、それぞれのブラウザで最適化されたJavaScriptエンジンを利用できるようにするための措置でした。

JScript9.dll


Internet Explorerに搭載されていたJavaScriptエンジンです。それまでのJScriptに代わる新しいJavaScriptエンジンとして、Internet Explorer 9から導入されました。JScript9.dllは、JavaScriptの実行速度を大幅に向上させ、Webアプリケーションのパフォーマンスを改善しました。しかし、Internet Explorerの開発が終了したことに伴い、現在は保守のみが行われています。

バージョン 9.0


Internet Explorer 9に搭載されたバージョンです。このバージョンでは、32ビット版と64ビット版で機能差が存在し、64ビット版にはJITコンパイラが含まれていなかったため、性能に差が見られました。しかし、JavaScriptの実行速度は大幅に向上し、競合のWebKit開発者が開発したベンチマークであるSunSpider JavaScript Benchmarkでは、Internet Explorer 7のJScript 5.7と比較して約50倍、Internet Explorer 8のJScript 5.8と比較して約18倍の処理速度を達成しました。

# 機能強化点


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

バージョン 10.0


Internet Explorer 10に搭載されたバージョンです。Windows 8およびWindows RTで導入されたWindowsランタイム上に構築されるWindowsストアアプリのJavaScriptエンジンとしても利用されました。このバージョンでは、Chakra 9.0にあった32ビット版と64ビット版の性能差が解消され、ARMアーキテクチャでも同等品質のものが提供されました。SunSpider JavaScript Benchmarkでの比較では、Chakra 9.0よりも25%の処理速度向上が確認されました。

# 機能強化点


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

バージョン 11.0


Internet Explorer 11に搭載されたバージョンです。SunSpider JavaScript Benchmarkでの比較では、Chakra 10.0より9%の処理速度向上が確認されました。

# 機能強化点


型指定された配列の強化
コードのインストルメント化
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など、最新のWeb技術への対応が進められています。

ChakraCore


マイクロソフトは、ChakraをWebブラウザなどから分離させ、純粋なJavaScriptエンジンとしてChakraCoreという名前でGitHub上でオープンソース化しました。これにより、開発者はChakraをさまざまな環境で利用したり、その開発に貢献したりできるようになりました。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。