ruby - 按每个恒定间隔的迭代次数进行基准测试

标签 ruby benchmarking

为了对简单任务的不同算法的效率进行基准测试并进行比较,我发现最常见的方法是设置恒定的次数来迭代任务,并测量每个算法花费的时间间隔。

但是,如果次数设置得太小,算法之间的间隔差异就会太小,并且可能会被外部因素掩盖。如果设置的次数太大,那么执行时间就会过长。所以你必须通过试验结束错误来猜测正确的次数。

我认为设置一个要运行每个算法的恒定时间间隔,然后测量每个算法在该时间间隔内可以进行多少次迭代,而不是这样做,更有意义。

这样做,基准测试的可靠性将更加稳定。按照传统方式,基准测试对于需要时间的任务会更加可靠。

我还没有见过这种基准测试方法。人们真的这样做吗?这种衡量方式有基准框架吗?我问这个问题是一个非特定语言的问题,但是如果有这样的框架,特别是针对 Ruby 的框架,请介绍一些。或者我的这个想法是错误的?

最佳答案

我找到了这个 gem :benchmark/ips .

关于ruby - 按每个恒定间隔的迭代次数进行基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565570/

相关文章:

Windows(64 位)上的 Python 2.7.8(64 位)在 Ubuntu(64 位)上的速度是 2.7.8(64 位)的一半

ruby - 如何编写 ruby​​ 方法来接受和保存 lambda、 block 或 Proc?

ruby-on-rails - Rcov:为什么这段代码没有被考虑覆盖?

ruby - 将 .capitalize 应用于 ruby​​ 中的西里尔字母数组

c# - 基准日期时间

javascript - 我如何对 JavaScript 代码进行基准测试?

mpi - 为什么 mpi 消息传递速度似乎加快了?

java - GraalVM 性能

ruby-on-rails - 从 ruby​​ 中的嵌套哈希数组中搜索键值

ruby-on-rails - rvm update 和 rvm remove 中的权限被拒绝