SuperAPI AI 工具集

benchee-profiling

测试与质量

查看项目

更新于 10-16 08:48

技能介绍

用途:在优化 Elixir 性能敏感代码前进行剖析与基准测试,强调「先剖析、后优化」。主要能力:用 :fprof / :eprof 定位真实热点;用 Benchee 编写多方案对比基准,覆盖执行时间、内存与 reductions 指标;支持多档输入规模、预热与多次重复以排除波动;可将结果写入 bench/baseline.json 做回退检测。

用法:在 mix.exs 中加入 {:benchee, "~> 1.3", only: :dev};基准脚本放在 bench/ 目录,用 Benchee.run 配置 time: 10、warmup: 2、memory_time、reduction_time、inputs 与 formatters(Console、HTML、JSON),以 MIX_ENV=prod mix run bench/xxx.exs 运行。建议用 suite.exs 通过 Code.require_file 组织多个基准;可用脚本对比 baseline 并在慢于基线 10% 时报错。

限制:必须保证各对比实现结果一致;I/O 与计算基准需分开跑;结果差异小于 5% 时需再跑 3 次;回退判定应对比最近 3 个基线以排除噪声;CI 中避免因单次噪声失败。未提供平台、收费等信息。