JavaScriptランタイム「Bun v0.3.0」リリース。メモリ消費量が3分の1以下に、npmパッケージの自動インストールなど
今回は「JavaScriptランタイム「Bun v0.3.0」リリース。メモリ消費量が3分の1以下に、npmパッケージの自動インストールなど」についてご紹介します。
関連ワード (最新、追加、開発言語等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
サーバサイドで実行可能なJavaScriptランタイム「Bun」の最新バージョン「Bun v0.3.0」がリリースされました。
BunはJavaScriptランタイムとバンドラ、トランスパイラ、タスクランナーなどの機能が最初から統合されているソフトウェアです。
JavaScriptエンジンにはSafariに搭載されているJavaScriptCoreを採用。Node.jsの主要なAPIやNode.jsのモジュール依存関係解決アルゴリズムも実装し、内蔵するnpmクライアントにより高速にnpmパッケージを読み込んで利用できるなど、Bun単体でさまざまな機能が統合され、便利に使えます。
さらにTypeScript/JSXトランスパイラによってTypeScriptファイルをそのまま読み込んで実行できるなど、既存のJavaScriptランタイムであるNode.jsのエコシステムやDenoの利点を取り込もうとしています。
その上で、開発言語としてZigを採用し、メモリ管理などを含む低レイヤでの実装を実現することで、他のJavaScriptランタイムと比較して高速な動作を実現していると説明されています。
メモリ使用量が激減して3分の1以下に
Bun v0.3.0での最大の改善点はメモリ使用量の減少です。前バージョンのBun 0.2.2と比較して3分の1から5分の1程度になったと説明されています。
下記はBun開発者のJarred Sumner氏のツイートです。Bunの前バージョンとの比較だけでなくNode.jsやDenoよりもメモリ使用量が少ないことを示しています。
Introducing Bun v0.3.0
– Reduced memory usage
– child_process, process.{stdout, stderr}
– auto install npm packages on import
– for await (const line of console) {}
– Array.fromAsync()
– FileSystemRouter, many stability bugfixeshttps://t.co/1QXxaS5TCj— Jarred Sumner (@jarredsumner) December 7, 2022
node_modulesディレクトリにモジュールがなかった場合には、npmレジストリから自動的にパッケージをインポートする機能も追加されました。
また、Next.jsのようなファイルシステムベースのルーティング機能も実装されています。
そのほか詳しい新機能や変更点については「Bun v0.3.0」をご覧ください。