Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
根据这个问题,在同一台机器上运行的基准测试有非常不同的结果。
我不是在问如何使用microtime或任何框架,而是,你如何确保你的基准测试没有任何偏差?任何机器设置、软件设置、流程设置?有没有办法确保您的基准可以安全地用作参考?
microtime
基本上,基准测试有点像科学研究,因此适用相同的规则。基准测试通常是为了回答某种问题,所以从提出一个好的问题开始。在那之后,消除所有错误的偏见就是实践和经验。
确保您了解并详细记录运行时环境(例如关闭电源管理和其他可能干扰测量的后台任务)。确保您经常重复实验(基准运行)以获得良好且稳定的平均值并记录它。确保你知道你在测量什么(例如,如果你想测量内存性能等,使用一个大于所有缓存的工作集,或者使用与核心一样多的线程等等)。
在某些情况下,这涉及填充缓存和缓存数据集,在其他情况下,您需要完全相反。取决于您想用基准回答的问题。