#このチュートリアルの動作環境: Windows7 システム、nodejs バージョン 12.19.0、DELL G3 コンピューター。nodejs では、V8 エンジンは JavaScript を実行するためのインタープリターであり、JavaScript エンジンです。V8 は「C」を使用して開発され、Google Chrome で使用されます。 JavaScript を実行する前に、V8 はそれをネイティブ マシン コードにコンパイルし、インライン キャッシュなどの方法を使用してパフォーマンスを向上させます。
NodeJS の概要
Baidu Encyclopedia によると、NodeJS は、単純なカプセル化を提供してから API 呼び出しを提供するわけではありません。そうであれば、今ほど普及していなかったでしょう。 Node は、いくつかの特別な使用例を最適化し、非ブラウザ環境で V8 をより適切に実行できるようにする代替 API を提供しました。たとえば、サーバー環境では通常、バイナリ データの処理が不可欠ですが、JavaScript ではこれが十分にサポートされていないため、V8.Node ではバイナリ データを便利かつ効率的に処理するための Buffer クラスを追加します。したがって、Node は単に V8 を使用するだけでなく、さまざまな環境でより強力になるように最適化します。ジャストインタイム コンパイル JIT の概要
V8 は、ジャストインタイム コンパイル テクノロジ (JIT) を使用して、JavaScript コードをローカルのマシン コードに直接コンパイルします。プラットホーム。マクロの観点から見ると、このステップは JavaScript ソース コード -> 抽象構文ツリー -> ローカル マシン コードであり、後のステップは前のステップにのみ依存します。これは他のインタプリタとは異なります。たとえば、Java 言語では、まずソース コードをバイトコードにコンパイルし、次にそれを JVM 用に解釈して実行する必要があります。JVM は、動作中にバイトコードの一部を選択的にローカル マシン コードにコンパイルします。最適化戦略。 V8 は中間コードを生成せず、1 ステップでマシンコードにコンパイルされ、CPU が実行を開始します。解釈と実行のための中間コードを生成する方法と比較して、V8 の戦略では 1 つのステップが節約され、プログラムはより早く実行されます。また、コンパイルされた機械語命令の実行は、中間コードを解釈して実行するよりも高速です。欠点は、バイトコードの中間表現がないため、コードの最適化がより困難になることです。V8 の概要
V8 は、もともと Google Chrome ブラウザで提供されていた JavaScript エンジンです。これは Chrome の最初のバージョンとともにリリースされ、オープンソース化されました。今ではChromeブラウザ以外にも多くのユーザーがいます。 NodeJS、MongoDB、CouchDB など。 V8 は C で開発され、Google Chrome で使用されます。 JavaScript を実行する前に、他の JavaScript エンジンがそれをバイトコードに変換したり、実行のために解釈したりするのではなく、V8 はそれをネイティブ マシン コード (IA-32、x86-64、ARM、または MIPS CPU) にコンパイルし、インライン キャッシュなどの次のメソッドを使用します。パフォーマンスを向上させるために使用できます。これらの機能により、JavaScript プログラムは V8 エンジンの下でバイナリ プログラムと同じ速度で実行されます。 V8 は、ECMA-262 バージョン 3 で指定されている ECMAScript を実装し、IA-32 または ARM プロセッサを使用して Windows XP および Vista、Mac OS X 10.5 (Snow Leopard および Linux) 上で実行されます。独立して実行することも、任意の C アプリケーションに埋め込むこともできます。プロジェクトは Google Code [1] でホストされ、BSD プロトコルに基づいています。あらゆる組織または個人がそのソース コードを独自のプロジェクトに使用できます。Forノード関連の知識については、nodejs チュートリアル
!!を参照してください。
以上がNodejsのv8エンジンとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。