ホームページ  >  記事  >  ウェブフロントエンド  >  Node アプリケーションに最適な JS エンジンを選択してください

Node アプリケーションに最適な JS エンジンを選択してください

青灯夜游
青灯夜游転載
2020-09-08 12:25:561965ブラウズ

Node アプリケーションに最適な JS エンジンを選択してください

Node.js は急速に開発されています。現在、Node.js 8 がリリースされています。同時に、ChakraCore に基づく Node.js バージョンも積極的に開発中です。

【ビデオチュートリアルの推奨: node js チュートリアル

原文は次のとおりです: 最新の Node.js v8 バージョン (JavaScript エンジンである V8 と混同しないでください) ) 公開されたばかりです.

元の作成者は Node.js v8 バージョン という単語を使用しましたが、ここでの V8 は V8 ではないと著者は括弧内で具体的に説明しました。 JavaScript エンジンは V8 ですが、Node.js バージョンです。ただし、Node.js の公式ブログ投稿 Node v8.0.0 (Current):

Node.js リリース バージョンを参照する場合、次のような注記があります。 Node.js 8 では「v」が削除されました。以前のバージョンは一般に v0.10、v0.12、v4、v6 などと呼ばれていました。基盤となる JavaScript エンジンである V8 との混同を避けるために、 「v」を付けて Node.js 8 と呼びます。

Node.js リリース バージョンを参照する場合、Node.js 8 では「v」が削除されていることに注意してください。以前のバージョンは、v0.10、v0.12、v4、v6 などと呼ばれることがよくあります。 V8 JavaScript エンジンとの混乱を避けるために、「v」を省略して Node.js 8 と呼びました。
したがって、Node.js v8 バージョンは直接 Node.js 8 と呼ばれる必要があります。

Node.js で使用される JavaScript エンジンは、新しい機能がいつ導入されるかわからないため、開発者はさまざまなエンジンのパフォーマンス上の利点と欠点を明確に知っています。

次の Node.js バージョンでパフォーマンス評価を実行しました:

  • Node.js 6.10.1 (V8 5.1.281.95)* Node.js 7.10 (V8 5.5. 372.43) )
  • --turbo --ignition パラメーターを使用した Node.js 7.10 (V8 5.5.372.43)
  • Node.js 8.0 (V8 5.8.283.41)
  • Node.js --turbo --ignition パラメータを使用した 8.0 (V8 5.8.283.41)
  • Node.js 8.0 (ChaKraCore 2.0.0.0) (2 つの異なるビルド バージョンを使用)

このシンプルな 視覚化ツール を使用して、さまざまな機能のさまざまなバージョンのパフォーマンスを確認できます。

これらの結果では、Node.js 8 を使用している場合は、--turbo --ignition パラメーターをオンにした後の JavaScript のパフォーマンスも表示できます。

コンテキスト

Node.js で使用されるデフォルトの JavaScript エンジンは V8 ですが、Node.js は開発者がさまざまな JavaScript エンジンを選択できる共通プラットフォームを提供します。

Node.js 8 のリリースは非常にエキサイティングであり、コミュニティ内の大きなイベントです。このプラットフォームには、まったく新しい機能セットがすでに搭載されています。さらに、開発者が最も懸念しているのはパフォーマンスです。

どの JavaScript エンジンがアプリケーションの実行に最適かを知ることは、非常に役立つスキルです。この記事では、V8 と ChakraCore のさまざまなバージョンのパフォーマンスの長所と短所を見ていきます。

方法

異なる Node.js バージョン間のベンチマークを比較するために、35 の JavaScript コード パターンの代表的なセットを選択しました。それらのほとんどは、Colin Ihrig の「will it optimize」 リポジトリから取得したものです。これらのパターンについては、前の記事 (Node.js をアップグレードするだけで Node アプリを最適化する ) で説明しました。

各パターンについて、異なるバージョンの Node.js が 10 回、100 回、1000 回、10000 回、および 10000 回実行されました。このコードを有効にすることで、各エンジンが実行時の一般的な最適化とホット関数の最適化をどのように実行するかを理解できます。

ベンチマークでは、ガベージ コレクション (GC) イベントの数は考慮されていません。これは、各プロセスに割り当てられたメモリが変更されると、実験結果が異なる可能性があることを意味します。

結果

Node アプリケーションに最適な JS エンジンを選択してください

完全なテスト結果は、このページで確認できます。この結果を分析すると、ChakraCore の Node.js バージョンが V8 ベースのバージョンよりも遅いことがわかります。

さらに、ほとんどの場合、V8 への移行は時間の経過とともにますます効率的になります。点火とターボファンの最適化アーキテクチャにより、パフォーマンスが大幅に向上します。 Node.js 8 は V8 5.8 とともにリリースされていますが、 はデフォルトでは有効になっていません。 Node.js の将来のバージョンは、Ignition と Turbofan が有効になった V8 5.9 (およびおそらく 5.6) で利用可能になる予定です。

結論

このベンチマークは非常に興味深いものでした。将来的には、さらに多くの Node.js バージョンとコード パターンを追加する予定です。 Sqreen の Node.js エンジニアとして、私はパフォーマンスを非常に重視しています。

(翻訳注: 後から 4 エンドのコンテンツもありますが、そのほとんどは原作者からの宣伝なので翻訳されません)

最後に、この強力なパフォーマンス ビジュアルをお勧めします著者が開発した比較ツール:

Node アプリのパフォーマンスに最適な JS エンジンの選択 そして私の講義: フロントエンド プログラマーは V8 の知識を知っておくべきです

英語の元のアドレス: https://blog.sqreen.com/javascript-engine-performance/

プログラミング関連の知識の詳細については、次のサイトを参照してください:

プログラミング教育! !

以上がNode アプリケーションに最適な JS エンジンを選択してくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。