Fork Coding
Papers/オンプレミスLinuxにおけるAIエージェントランタイムの比較:Node.js・Bun・DenoとRustネイティブバイナリの起動・メモリ・CPU・遅延の測定
AI・エージェント·2026年10月

オンプレミスLinuxにおけるAIエージェントランタイムの比較:Node.js・Bun・DenoとRustネイティブバイナリの起動・メモリ・CPU・遅延の測定

AI AgentRuntimeNode.jsRustOn-premise

原文PDFは韓国語で書かれています。

概要

オンプレミスLinuxでAIエージェントを稼働させるランタイムとして、Node.js系とRustネイティブバイナリのいずれが優れているかについての測定に基づく根拠は不足している。既存の言語比較研究はCPUバウンドのベンチマークを扱っており、LLMの応答待ちが支配的なエージェントループは扱っていない。本研究では、会話履歴の送信、SSEストリームの解析、ツールのサブプロセス実行からなる同一のエージェントループを、JavaScript版一式(Node.js 24、Bun 1.4、Deno 2.9で実行)とRust版一式(tokioのマルチスレッドおよびシングルスレッド)で実装し、モックLLMサーバによってサーバ側の時間を分離したうえで、aarch64 Linuxコンテナ上で測定した。1セッションの起動時間はRustで3.8 ms、Node.jsで35.6 msであった。同時500セッションにおいてRustの最大RSSは159.7 MBであり、Bunの383.9 MB、Node.jsの775.8 MBより小さかった。オーケストレーションオーバーヘッドの中央値はRust(マルチスレッド)で2.24 ms、Bunで174.09 ms、Node.jsで299.58 msであった。セッション数が10程度の水準では差は小さかった。muslの静的バイナリは1.44 MiBであり、JavaScriptランタイムのバイナリより50倍以上小さかった。結果は仮想マシン一台で得られたものであり、x86ベアメタルでの再現は今後の課題である。

主な貢献

結論

LLMの待ち時間が支配的なエージェントループにおいても、ランタイムの選択は同時セッション数が大きくなるほど測定可能な差を生んだ。試験した1–500セッションにおいて、Rust実装はオーケストレーションオーバーヘッドの中央値を6.26 ms以下に維持し、起動時間、メモリ、ターンあたりのCPU時間、デプロイサイズのいずれにおいても最小であった。JavaScriptランタイムはセッション数が10前後ではオーバーヘッドが小さかったが、100セッション以上では事前に定めた基準を超え、その程度はNode.js、Bun、Denoの間でも大きく異なった。今後の研究として、x86ベアメタルのオンプレミスサーバでの反復測定、実際のLLM遅延とTLSを含むワークロード、数時間以上にわたる常駐測定、Node.jsのマルチプロセス構成との比較が必要である。

–

コメント 0

コメントを読み込み中…