我将在高性能计算机上对数值模拟软件的几种实现进行基准测试,主要是关于时间 - 但其他资源,如内存使用、进程间通信等也可能很有趣。
就目前而言,我不了解如何对软件进行基准测试(在这方面)的一般准则。我也不知道有多少测量噪声是可以合理预期的,也不知道通常进行多少测试。当然,尽管这些问题取决于系统,但我很确定存在一些被认为是合理的标准。
你能提供这样的(介绍性的)信息吗?
我将在高性能计算机上对数值模拟软件的几种实现进行基准测试,主要是关于时间 - 但其他资源,如内存使用、进程间通信等也可能很有趣。
就目前而言,我不了解如何对软件进行基准测试(在这方面)的一般准则。我也不知道有多少测量噪声是可以合理预期的,也不知道通常进行多少测试。当然,尽管这些问题取决于系统,但我很确定存在一些被认为是合理的标准。
你能提供这样的(介绍性的)信息吗?
如果测试不需要太多时间,那么我会重复它(例如 10,000 次)以使其花费几秒钟。
然后我多次(例如 5 次)执行此操作,以查看测试结果是否可重现(或者它们是否高度可变)。
这种方法有一定的局限性(例如,它使用“暖”缓存进行测试),但总比没有好:并且特别擅长比较相似的代码,例如查看对某些现有代码的性能调整是否确实提高了性能(即进行“之前”和“之后”测试)。
最好的方法是测试你实际使用它的工作!
你能运行一个实际问题的子样本吗?一个只需要几分钟,并且简单地在各种机器上计算的时间?