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 がパフォーマンスで顕著にリードしています。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3