高性能基准测试的基本准则
-
30-09-2019 - |
题
我将在高性能计算机上基于数值仿真软件的几个实现,主要是关于时间 - 但是其他资源(例如内存使用情况,过程间通信等)也可能很有趣。
目前,我尚不了解一般指南如何(在此领域)进行基准测试软件。我也不知道,可以合理地预期多少测量噪声,或者通常进行多少测试。尽管这些问题依赖于系统,但我很确定存在一些认为合理的标准。
您可以提供此类(介绍性的)信息吗?
解决方案
如果测试不需要太多时间,那么我将其重复(例如10,000次)以使其需要几秒钟。
然后,我多次(例如5次)来查看测试结果是否可再现(或它们是否高度可变)。
这种方法有限制(例如,它正在使用“温暖”缓存进行测试),但是总比没有好:尤其擅长比较类似的代码,例如,查看性能调整是否与某些现有代码是否确实提高了性能(即进行“之前”和“测试”后进行“之前”)。
其他提示
最好的方法是测试您实际使用的工作!
您可以运行实际问题的子样本吗?只需花几分钟,而只是在各种机器上时间?
不隶属于 StackOverflow