Skip to content

本地框架与系统开销对比矩阵

测量状态
HNO、Agno、LangGraph:本地固定模型矩阵已完成
同一个本地 Stub每行 100 次并发度 1 / 8 / 32RSS + CPU 采样

结果:去掉远程 Provider 波动后,在本次固定单请求场景中,HNO 的请求开销更低、测得的批次 RPS 更高,观测到的进程树 RSS 也低于两个 Python 对照。

边界:这是针对确定性本地 HTTP Stub 的框架和运行时开销测量,不是模型质量、生产容量或“某种语言永远更快”的通用结论。

测试协议

记录时间:2026-08-05T02:09:34Z

条件
FrameworkHNO、Agno、LangGraph
Model Endpoint同一个本地 OpenAI-compatible Stub
Model IDstub-model
返回内容LOCAL_MODEL_OK
Stub 响应延迟1 ms
Warmup每个框架/并发档位 5 次
Measured runs每个框架/并发档位 100 次
Concurrency1、8、32
环境Windows AMD64、Go 1.26.4、Python 3.14.5
LifecycleFresh operation:每次操作包含 client/model/Agent/Graph 初始化
指标请求延迟、批次 RPS、成功率、峰值 RSS、CPU 时间、进程总耗时

所有框架使用相同的 Endpoint 和响应协议。本矩阵是 fresh operation 测量:每次操作所属的初始化开销都一致纳入,不把复用的 HNO client 和每次新建的 Python 对象混在一起。Agno 与 LangGraph 分别在独立进程中运行,因此 RSS 和 CPU 没有混在一起。

延迟、吞吐和资源

并发度 1

Framework平均 msP50 msP95 ms测得 RPS成功率峰值 RSS MBCPU s进程 wall s
HNO1.5831.5281.675631.71100/10012.20.0470.220
Agno41.63236.81361.86324.01100/100204.55.9066.905
LangGraph7.6877.5219.082129.68100/100156.32.8443.240

并发度 8

Framework平均 msP50 msP95 ms测得 RPS成功率峰值 RSS MBCPU s进程 wall s
HNO1.8591.5962.6554,186.08100/10012.30.1090.066
Agno61.76659.82083.473125.66100/100285.06.9223.445
LangGraph30.11730.08937.638251.95100/100157.92.6722.787

并发度 32

Framework平均 msP50 msP95 ms测得 RPS成功率峰值 RSS MBCPU s进程 wall s
HNO6.7033.09118.6373,627.35100/10016.70.0940.105
Agno138.678129.345241.744170.17100/100373.87.4693.383
LangGraph78.37074.864129.618241.67100/100161.12.7662.807

* HNO 进程很短,Windows 进程 CPU 时间有较粗粒度;CPU 只作为辅助采样,主要结论看延迟、RPS 和 RSS。

这组数据说明什么

在并发度 8 下,HNO 的测得批次 RPS 约为 LangGraph 的 16.6 倍、Agno 的 33.3 倍。并发度 32 下,HNO 约为 LangGraph 的 15.0 倍、Agno 的 21.3 倍

并发度 32 时,观测到的峰值 RSS 为:

text
HNO        16.7 MB
LangGraph 161.1 MB
Agno       373.8 MB

这些是包含运行时和 import 状态的进程树观测值,不是每个请求的分配量。

这与 HNO 的设计目标一致:尽量减少编排和 HTTP 客户端开销,把预算留给真正的模型工作。但它不表示 HNO 能让远程模型本身更快生成 Token。

指标定义

  • 平均 / P50 / P95: 每次请求的客户端 wall-clock 样本,包含框架准备和本地 HTTP 请求。
  • 测得 RPS: 100 / 正式测量批次耗时,不包含预热,但包含框架请求路径。
  • 峰值 RSS: 框架进程树的最大常驻内存,包括启动和 import 开销。
  • CPU s: 进程树观测到的 user + system CPU 时间;Windows 短进程可能有粗粒度误差。
  • 进程 wall s: 包含解释器或二进制启动、预热和正式测量。

限制和正确解读

本矩阵没有测量:

  • 模型质量和 Token 生成速度;
  • 远程 Provider 排队和限流;
  • 工具循环、Memory、Streaming、Team、Workflow;
  • 带认证、持久化、TLS、观测开销的生产 RPS;
  • 每请求分配量或长期堆行为;
  • 所有部署模式下完全等价的 Python/Go GC 调优;
  • client、Agent、Graph 只创建一次的 warm steady-state 调用。

这组数据可以支持的表述是:

在声明的本地固定响应协议下,HNO 在这台机器上比 Agno 和 LangGraph 观测到更低的编排延迟、更高的测得批次 RPS 和更低的进程树 RSS。

不能把它写成:

HNO 在所有模型、所有 Provider、所有 Python 框架和所有生产环境中都更快。

原始结果与复现

原始样本和汇总报告:

text
benchmarks/framework_comparison/results/local_stub_matrix/latest.json
benchmarks/framework_comparison/results/local_stub_matrix/latest.md

单个原始文件按框架和并发度命名,例如:

text
hno_simple_c8.json
agno_simple_c8.json
langgraph_simple_c8.json

复现命令:

bash
uv run --with psutil --with 'agno==2.8.6' --with 'langgraph==1.2.10' \
  --with 'langchain-openai' --with 'langchain-core' \
  python benchmarks/framework_comparison/local_overhead_matrix.py \
  --runs 100 --warmup 5 --concurrencies 1,8,32 --delay-ms 1

远程 DeepSeek 报告仍然是独立的端到端 Provider 快照,不能和这份本地框架开销矩阵混成一个结论。

Released under the MIT License.