我将在秋季参加关于计算几何的课程,我们将在 C 或 C++ 中实现一些算法并对其进行基准测试。大多数学生生成一些数据集并使用time
命令测量他们的程序,但我想更彻底一点。
我正在考虑编写一个程序来自动生成不同的数据集,使用它们运行我的程序并使用 R 来测试假设和估计参数。
那么......你如何更准确地测量程序运行时间?
什么可能与测量相关?
哪些假设可能值得测试(方差、缓存造成的影响等)?
我应该在多台机器上测试我的代码吗?这些机器应该有什么不同?
我的总体目标是了解这些算法在实践中的表现,哪些实现技术更好,以及硬件的实际表现如何。