6、性能实验设计与测试全解析

性能实验设计与测试全解析

1. 测试与性能回归

在代码测试环节,其复杂程度取决于代码库的测试基础设施。一些代码库有大量单元测试确保正确性,可根据测试覆盖度和详细程度,利用现有测试;而有些代码库缺乏完善测试实践,就需编写自定义测试用例。若不确定,建议过度测试,避免引入功能或安全漏洞。

创建可复现实验时,可编写两个程序,一个评估当前性能,另一个评估当前正确性。为确保测试程序和性能程序使用相同代码,建议将实现放在不同源文件中,构建成不同目标文件。

性能回归测试也很重要,曾经的问题可能再次出现,需定期运行可复现实验,确保性能不会退回到优化前的状态,这与单元测试类似,发现的 bug 应添加到测试套件中,防止功能退化。低级别性能测试能很好地补充高级别性能测试,高级别测试检测性能回归,低级别测试帮助定位代码中出现问题的部分。

2. 选择合适的指标

性能分析和优化依赖准确的数据收集,选择合适的性能指标至关重要。性能指标主要分为两类:衡量单次操作成本的指标(如测量时间时,常称为测量延迟)和衡量给定时间间隔内操作发生频率的指标(常称为测量吞吐量)。

例如,在图形渲染性能测量中,帧时间属于第一类指标,它测量渲染一帧的时间成本;帧速率属于第二类指标,以每秒帧数衡量。选择指标时,要根据测量组件选择合适的详细程度,如比较 CPU 管道中两个算法的性能时,时钟周期是合适的指标;而比较图形渲染性能时,时钟周期可能过于底层。

所有指标按解读方式可分为三类:值越高越好(HIB)、值越低越好(LIB)、标称值最好(NIB)。HIB 和 LIB 指标更为常见。

3. 处理外部变量

在基准测试中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值