假设我想设置一个实验来测量一些数字代码在运行 Linux/Windows/MacOS 的台式机上的性能。为了获得正确的时间,我应该安排什么样的环境?更确切地说,
- 应该关闭哪些应用程序/服务?
- 考虑的过程应该具有什么优先级?
- 我通常应该执行多少次运行来平均时间?
- 并行 CPU/GPU 计算是否存在任何具体问题?
- 还要别的吗?..
当然,所有这些问题都是特定于平台的。对我来说,有趣的问题也是 Linux 和 Windows 在这一点上的比较。
假设我想设置一个实验来测量一些数字代码在运行 Linux/Windows/MacOS 的台式机上的性能。为了获得正确的时间,我应该安排什么样的环境?更确切地说,
当然,所有这些问题都是特定于平台的。对我来说,有趣的问题也是 Linux 和 Windows 在这一点上的比较。
我认为这取决于你的目的。如果您正在尝试评估代码或环境的整体性能,那么我鼓励您运行它,但是您认为大多数人会在桌面环境中运行它:保持打开状态,但确保没有任何东西在后台运行或占用所有内存。以我的经验,最大的罪魁祸首是存档周期中的备份工具和带有大量和/或失控标签的浏览器。如果您担心性能差异会在噪音中消失,那么从桌面用户的角度来看,它可能并不重要。
如果您正在尝试评估特定的、可能很小的代码或环境更改的性能,那么需要进行权衡:您可以更加小心地关闭其他所有内容以减少噪音,或者您可以尝试隔离或强调该更改增强实验中的“信号”。我倾向于后者,但您的里程可能会有所不同。这与分析有关,例如here和here。
其他人可以为获得最精确的时间提供更好的答案,但对于桌面实验,我认为这是矫枉过正。
需要注意的事项: