当前位置: 首页 > 面试题库 >

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

空英逸
2023-03-14
问题内容

假设我想对两个程序进行基准测试:foo.py和bar.py。

有一对夫妇一千运行和各自的平均值time python foo.pytime python bar.py充足的足够分析和比较他们的速度?

编辑: 此外,如果每个程序的执行时间都不到一秒(假设不是以上所述),则可以time使用吗?


问题答案:

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

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

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

要么

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

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

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

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

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



 类似资料:
  • 问题内容: 我找不到带redis的HGET,HSET(哈希表命令)基准标记的示例。任何示例或资源都将对此有用。 问题答案: 我只是意识到命令没有基准和命令。(我正在使用v2.8.5) 您可以做的是编写一个小程序来对性能进行基准测试: 在我的测试服务器上,结果如下:

  • 11.4. 基准测试 基准测试是测量一个程序在固定工作负载下的性能。在Go语言中,基准测试函数和普通测试函数写法类似,但是以Benchmark为前缀名,并且带有一个*testing.B类型的参数;*testing.B参数除了提供和*testing.T类似的方法,还有额外一些和性能测量相关的方法。它还提供了一个整数N,用于指定操作执行的循环次数。 下面是IsPalindrome函数的基准测试,其中循

  • GoCPPLua (JIT) 策略执行的负载在model_b_test.go中进行基准测试。 测试是: 英特尔 酷睿 i7-6700HQ CPU @ 2.60GHz, 2601 Mhz, 4 核, 8 处理器 go test -bench= -benchmem 的测试结果如下 (op = 一次 Enforce() 调用, ms = 毫秒, KB = 千字节): 测试用例 规则大小 时间开销 (m

  • 我有一个原始视频文件“inputvideofile.mp4” 我使用ffmpeg解码输入视频文件,处理每一帧,然后将那些帧编码为“OutputVideofile.mp4”。 $FFProbe InputVideofile.mp4 持续时间:00:00:04.08,开始时间:0.000000,生成时间:7835 KB/s $FFProbe OutputVideofile.mp4

  • These benchmarks were designed to measure Javascript running time for Mithril in comparison with other popular Javascript MVC frameworks. Javascript running time is significant because the gzipped siz

  • https://github.com/17koa/koa-benchmark 比较koa和koa2和express性能 Prerequisites for OSX brew install wrk wrk原理 命令行操作 $ wrk -t8 -c1000 -d10 http://127.0.0.1:3000 Test 首次测试,需要安装依赖,会比较慢 make all 不安装依赖,重复测试