メインコンテンツまでスキップ

ドキュメント

V8は、Googleのオープンソースで高性能なJavaScriptおよびWebAssemblyエンジンで、C++で記述されています。ChromeやNode.jsなどで使用されています。

このドキュメントは、アプリケーションでV8を使用したいと考えるC++開発者や、V8の設計とパフォーマンスに興味がある方を対象としています。本ドキュメントでV8の概要を紹介し、他の資料ではV8をコードで使用する方法や設計の詳細、V8の性能を測定するためのJavaScriptベンチマークについて説明します。

V8について

V8はECMAScriptおよびWebAssemblyを実装し、x64、IA-32、またはARMプロセッサーを使用するWindows、macOS、Linuxシステムで動作します。追加のシステム(IBM i、AIX)およびプロセッサー(MIPS、ppcle64、s390x)は外部で保守されています。portsを参照してください。V8は任意のC++アプリケーションに埋め込むことができます。

V8はJavaScriptソースコードのコンパイルと実行、オブジェクトのメモリ割り当て、不要になったオブジェクトのガベージコレクションを行います。V8のストップ・ザ・ワールド、世代別、正確なガベージコレクタは、V8のパフォーマンスの重要な鍵の一つです。

JavaScriptは通常、ブラウザ内でクライアントサイドのスクリプトとして使用され、例えばドキュメントオブジェクトモデル(DOM)オブジェクトを操作します。ただし、DOMは通常JavaScriptエンジンで提供されるものではなく、ブラウザによって提供されます。これはV8にも当てはまります。Google ChromeがDOMを提供します。しかし、V8はECMA標準で指定されたすべてのデータ型、演算子、オブジェクト、および関数を提供します。

V8は任意のC++アプリケーションが独自のオブジェクトや関数をJavaScriptコードに公開することを可能にします。どのオブジェクトと関数をJavaScriptに公開するかは、開発者次第です。

ドキュメント概要