Deno 2.0 はリリースされたばかりで、Bun や Node.js よりも高速であると主張しており、Bun が高速であると主張しているのと同じ方法です。これに興味を持ったので、パフォーマンスをテストして、現実世界のシナリオでどのように比較できるかを確認することにしました。
公平に比較するには、3 つの JavaScript ランタイム環境 (Node.js、Deno、および Bun) すべてと互換性のあるフレームワークを選択する必要があります。そのため、3 つすべてをシームレスに統合する Hono.js を使用することにしました。
OS: Ubuntu 24.04.1 LTS (WSL)
システム: Ryzen 5 5500U、16GB RAM
Node.js: v22.9.0
デノ: v2.0.0
ブン: v1.1.30
テストコマンド:
bombardier -c 100 -d 30s http://localhost:3000
ベンチマークには、100 の同時接続で 30 秒間実行する Go ベースの負荷テスト ツールである Bombardier を使用しました。より正確な結果を保証するために各テストが 3 回繰り返され、各環境での実行の平均がとられました。
柔軟性と相互互換性のために Hono.js を選択しました。 Hono.js では、Node.js、Deno、Bun の 3 つの JavaScript ランタイムすべてと簡単に統合でき、この種のベンチマークにとって理想的なフレームワークになります。軽量かつ高速で、シンプルな API を備えているため、オーバーヘッドをあまりかけずにランタイム間のパフォーマンスの違いが強調表示されます。
各ランタイムの 1 秒あたりの平均リクエストと最大リクエストは次のとおりです。
(リクエスト/秒)
勝者: ブン
各ランタイムのレイテンシー (リクエストあたりのミリ秒単位) を以下に示します。
(ms/req)
勝者: バン (平均) & デノ (最大)
分析と重要なポイント
結果に基づいて、次の重要な点が明らかになりました。
Node.js: Node.js は長年にわたってサーバーサイド JavaScript の業界標準でしたが、Deno と Bun の両方と比較すると、1 秒あたりのリクエストのパフォーマンスが低くなります。平均レイテンシも高く、同時負荷が大きい場合にはさらに苦戦する可能性があることを示唆しています。ただし、Node.js は、その広大なエコシステムと運用環境での安定性により、依然として広く採用されています。
Deno 2.0: Deno は Node.js よりもパフォーマンスが大幅に優れており、はるかに低い平均レイテンシを維持しながら 1 秒あたり 2 倍以上のリクエストを処理します。これは、Deno が同時接続の処理に高度に最適化されており、パフォーマンスが重要なアプリケーションの強力な代替手段となる可能性があることを示しています。そのモダンなデザインと TypeScript サポートなどの組み込み機能により、新しいプロジェクトでの優位性が得られます。
Bun: Bun は、そのままのパフォーマンスの点で Node.js と Deno の両方を上回りました。 1 秒あたりの最大数のリクエストを処理し、最小の平均レイテンシを維持しました。このため、Bun はスピードが最優先されるプロジェクトにとって魅力的なオプションになります。ただし、これはまだ新しいランタイムであり、そのエコシステムとコミュニティはまだ Node.js ほど成熟していません。
このベンチマークでは、3 つの環境すべてで Hono.js をフレームワークとして使用して、Deno 2.0、Bun、および Node.js のパフォーマンスをテストしました。結果は、Deno と Bun の両方が、生の速度とレイテンシーの点で Node.js よりも優れていることを明確に示しています。 Bun は特に高パフォーマンスのシナリオで威力を発揮し、Deno は最新の開発機能に重点を置いたバランスの取れたソリューションを提供します。
Node.js は最速のオプションではないかもしれませんが、特に成熟したエコシステムに依存するプロジェクトにとっては、依然として信頼できる選択肢です。一方、新しいプロジェクトに取り組んでおり、パフォーマンスを最大化する必要がある場合は、Deno と Bun の両方が魅力的な代替手段を提供します。
最終的に、ランタイムの選択はプロジェクト固有のニーズによって異なります。今のところ、Deno と Bun は JavaScript ランタイム レースの新たな候補者であることが証明されており、Bun がパフォーマンスで顕著にリードしています。
以上がHono.js ベンチマーク: Node.js vs. Deno vs. Bun — どれが最速ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。