Chrome V8 JavaScript エンジンを利用する人気の JavaScript ランタイムである Node.js が火曜日にバージョン 12 になり、いくつかの潜在的に便利な機能と性能が追加されました。
プロジェクトのリリース スケジュールでは、偶数番号のリリースが長期サポートに指定され、予測可能な期間にわたって企業に技術的な安定性が提供される予定であり、v12 は 2019 年 10 月に LTS リリースになる予定です。
Node.js 12 は、3 月に Chrome V8 エンジンに加えられた改良点 (現在はバージョン 7.4) を継承しており、主に実行速度とメモリ オーバーヘッドの削減に関係しています。
The Registerへのメールで、Node.js技術運営委員会の委員長であるMyles Borins氏は、最も重要な改善点について言及しました。V8 v7.4では非同期スタックトレースが導入され、V8の追加オーバーヘッドなしでNode開発者により広範なデバッグ情報を提供します。Node.js 12では、TLS 1.3のサポートも追加され、前バージョンよりもセキュリティが向上しています。
刷新されたランタイムには、従来のCommonJSスタイルよりも現代的なモジュール統合方法であるES6モジュールの新しい実装が含まれています。また、Borins氏によると、起動は以前のバージョンよりも約30%高速化されています。
IBM の Node.js ランタイム開発者である Bethany Griggs 氏と、Node.js の IBM コミュニティ リーダーである Michael Dawson 氏は、ブログ投稿で、このリリースでネイティブ モジュールのサポートが改善されたことを強調しました。
JavaScript、お好きですか?本当に好きですね!スクリプト言語が開発者向けプログラミング言語調査でトップに
続きを読む
「Node.js 12は、ネイティブモジュールの構築とサポートをより容易にするというトレンドを継承しています」と彼らは述べています。「変更点には、ワーカースレッドと組み合わせたネイティブモジュールのサポート強化や、ネイティブ非同期関数で独自のスレッドをより簡単に使用できるようにするN-APIバージョン4が含まれます。」
Griggs 氏と Dawson 氏は、Node.js 12 では、C で記述された HTTP メッセージの読み取り用のデフォルト パーサーが から に切り替わったと指摘していますhttp_parser
。これは、おそらくより保守しやすいllhttp
の TypeScript ポートhttp_parser
です。
「llparse は、コンパイルして埋め込み側のプログラム (Node.js など) にリンクできる出力 C および/またはビットコード成果物を生成するために使用されます」と説明されています。
2人は、V8エンジンのアップグレードによるもう一つの利点を指摘しています。Node.jsは、V8のデフォルトではなく、利用可能なメモリに基づいてJavaScriptヒープサイズを設定するようになりました。これは、Node.jsが利用可能なメモリよりも多くのメモリを消費しないようにするための手段であり、大規模なデータセットの処理に役立つと期待されています。
また、Node.js 12 には「診断レポート」と呼ばれる実験的な機能が含まれており、開発者はオンデマンドまたは特定のイベントによってトリガーされたときにレポートを作成できると指摘しています。
Node.js 13 を見据えて、ボリンズ氏は、現在推進されている戦略的取り組みには、Python 3 のサポート、起動パフォーマンスの向上、Core Promise API のサポート、標準とガバナンスに関するさらなる作業、新しい Streams API などがあると述べました。®