跳转至

User-Agent 生成器性能测试

zerodep useragent 与 ua-generator 的性能对比。

测试环境

  • CPU: x86_64 Linux
  • Python: 3.10
  • 工具: pytest-benchmark 5.2.3(报告均值)
  • 对标库: ua-generator 2.0+
  • 最后更新: 2026-04-29

实现对比

实现 文件/包 说明
zerodep useragent.py 单文件 Chrome/Edge UA 生成器,仅标准库
ua-generator (参考库) 多浏览器 UA 生成器包

测试内容

两个库都生成 User-Agent 字符串及对应的 Client Hints 头部。测试衡量纯生成吞吐量——不涉及网络 I/O。

测试场景

场景 说明
Default 随机浏览器 + 平台(无过滤)
Chrome Desktop browser="chrome", device="desktop"
Edge Mobile browser="edge", device="mobile"
Headers 生成 UA + 通过 .headers.get() 构建完整 Client Hints 头部

生成性能(均值)

场景 zerodep ua-generator 加速比
Default 3.1 μs 8.6 μs 快 2.7 倍
Chrome Desktop 3.9 μs 7.9 μs 快 2.0 倍
Edge Mobile 3.4 μs 9.2 μs 快 2.7 倍
Headers 5.2 μs 11.6 μs 快 2.2 倍

要点总结

  • zerodep 快 2-3 倍 —— 更简单的架构(无动态插件加载、无多浏览器分发)直接转化为吞吐量优势。
  • 两者都极快 —— 每次生成 3-12 μs,UA 生成在任何实际应用中都不会成为瓶颈(单次 HTTP 请求耗时以毫秒计)。
  • Headers 生成增加约 2 μs —— 构建完整 Sec-CH-UA-* 头部集对两个库来说都很轻量。
  • zerodep 仅覆盖 Chrome + Edge —— 这一有意的范围缩减(对比 ua-generator 的 Chrome/Edge/Firefox/Safari)是速度优势的主要来源。
  • 零 pip 依赖 —— zerodep 仅使用标准库的 random

自行运行

pip install pytest pytest-benchmark ua-generator
pytest useragent/test_useragent_benchmark.py --benchmark-only -v

最新 CI 结果

每次发版时通过 Benchmark CI 自动更新。