JavaScriptランタイム「Bun v0.3.0」リリース。メモリ消費量が3分の1以下に、npmパッケージの自動インストールなど

サーバサイドで実行可能な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よりもメモリ使用量が少ないことを示しています。

node_modulesディレクトリにモジュールがなかった場合には、npmレジストリから自動的にパッケージをインポートする機能も追加されました。

また、Next.jsのようなファイルシステムベースのルーティング機能も実装されています。

そのほか詳しい新機能や変更点については「Bun v0.3.0」をご覧ください。