【问题标题】:Benchmarking in RubyRuby 中的基准测试
【发布时间】:2013-11-17 20:32:15
【问题描述】:

我一直在 Ruby 中进行一些基准测试,结果如下:

                           user     system      total        real
part1                  0.156000   0.000000   0.156000 (  0.158009)
                           user     system      total        real
part2                  0.015000   0.000000   0.015000 (  0.162010)

通常,在第 1 部分中,总时间和实际时间几乎相同。然而,在第 2 部分中并非如此。

  1. part2的总背离和实背离是什么意思?
  2. 这种差异是否会引起任何担忧?
  3. 什么跑得更快?

【问题讨论】:

    标签: ruby benchmarking


    【解决方案1】:

    user/system 是 CPU 时间,由内核测量。已安排您的 过程。 real time 是计算的时间。

    所以实时大于用户+系统的平均值:

    • io 或 sleep 在代码中测试
    • 还有一个消耗 CPU 的进程/守护进程

    【讨论】:

      【解决方案2】:

      结果按列组织并按此顺序排列;用户 CPU 时间、系统 CPU 时间、用户和系统 CPU 时间的总和以及经过的实时时间。它们的单位都是秒。所以在实时,part1 比part2 快。

      【讨论】:

      • 在第二部分中,如果用户和系统的总和为 0.015,但总经过的时间为 0.162,那么 0.147 秒的增量在哪里/是什么原因?
      猜你喜欢
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 2014-03-30
      • 2013-04-19
      • 2010-12-30
      • 1970-01-01
      • 2012-01-02
      相关资源
      最近更新 更多