UNIX的“时间”命令对于基准测试是否足够准确?[关闭]

UNIX的“时间”命令对于基准测试是否足够准确?[关闭],第1张

UNIX的“时间”命令对于基准测试是否足够准确?[关闭]

time
对于运行一秒钟的基准测试,它可以产生足够好的时间,否则,
exec()
与运行时间相比,该过程花费的时间可能会很大。

但是,在进行基准测试时,应注意上下文切换。也就是说,另一个进程可能正在使用CPU,因此与基准测试竞争CPU并增加了其运行时间。为了避免与其他进程争用,您应该运行如下基准:

sudo chrt -f 99 /usr/bin/time --verbose <benchmark>

要么

sudo chrt -f 99 perf stat -ddd <benchmark>

sudo chrt -f99
以优先级99在FIFO实时类中运行基准,这使您的进程成为最高优先级的进程,并避免了上下文切换(您可以进行更改,
/etc/security/limits.conf
以便不需要特权进程即可使用实时优先级)。

它还可以

time
报告所有可用的统计信息,包括基准测试发生的上下文切换次数,通常应为0,否则您可能需要重新运行基准测试。

perf stat -ddd
比提供更多信息,
/usr/bin/time
并显示诸如每周期指令,分支和高速缓存未命中等信息。

最好禁用CPU频率缩放和增强功能,以使CPU频率在基准测试期间保持恒定,以获得一致的结果。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4909850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存