基准测试概述
大多数基准测试结果都是短暂的。 当你的终端达到其滚动返回限制时,它们就会消失。 一些基准测试工具让你缓存结果,但大多数只在本地进行。 Bencher让你可以跟踪你在本地和CI运行中的基准测试,并与历史结果进行对比。
跟踪你的基准测试最简单的方法是使用bencher run
CLI子命令。
它包装了你现有的基准测试工具输出并生成一个报告。
然后将此报告发送到Bencher API服务器,
在那里通过a benchmark harness adapter解析基准测试工具的输出。
基准测试工具适配器检测到所有存在的基准测试和相应的指标。
然后这些基准测试和指标将一同保存在报告中。
如果设置了阈值,则新的指标将与报告中每个基准测试的历史指标进行比较。
如果检测到退化,将生成一个警报。
从此以后,我们将你的”基准测试”称为”性能回归测试”,以避免任何混淆。
基准测试
基准测试是一个命名的性能回归测试。 如果性能回归测试对Bencher来说是新的,那么将自动创建一个基准测试。 否则,性能回归测试的名称将作为基准测试的唯一标识符。
在更改你的性能回归测试的名称时要小心。 你需要在Bencher中手动重命名基准测试以匹配这个新的名称。 否则,重命名的性能回归测试将被视为新的基准测试。 这个警告同样也适用于_移动_某些性能回归测试。 根据基准测试工具,性能回归测试的路径可能是其名称的一部分。
上述唯一的例外是忽略一个基准测试。请参见抑制警报以获得完整的概述。
指标
指标是一个单独的,某一时刻的性能回归测试结果。
对于单个指标,可以收集最多三个度量:value
,lower_value
和upper_value
。
所有指标都需要value
,而lower_value
和upper_value
则各自独立地可选。
收集哪些度量是由benchmark harness adapter决定的。
指标类型
指标类型是度量指标的单位。
默认情况下,所有的项目都以一个Latency
和Throughput
指标类型开始。
单位分别为纳秒 (ns)
和次数 / 秒 (ops/s)
。
指标类型是由benchmark harness adapter确定的。
报告
报告是特定分支和测试床中的基准测试及其指标的集合。
报告通常使用bencher run
CLI子命令生成。
请参见如何跟踪性能回归测试以获得完整的概述。
分支
分支是运行报告时使用的git
引用(即分支名或标签)。
默认情况下,所有的项目都以一个main
分支开始。
使用bencher run
CLI子命令时,
如果未提供一个分支,main
将是默认的分支。
请参见分支选择以获得完整的概述。
测试床
测试床是运行报告时使用的测试环境的名称。
默认情况下,所有的项目都以一个localhost
测试床开始。
使用bencher run
CLI子命令时,
如果未提供一个测试床,localhost
将是默认的测试床。
🐰 恭喜! 你已经了解了所有关于跟踪
基准测试性能回归测试的内容!🎉