为了对简单任务的不同算法的效率进行基准测试并进行比较,我发现最常见的方法是设置恒定的次数来迭代任务,并测量每个算法花费的时间间隔。
但是,如果次数设置得太小,算法之间的间隔差异就会太小,并且可能会被外部因素掩盖。如果设置的次数太大,那么执行时间就会过长。所以你必须通过试验结束错误来猜测正确的次数。
我认为设置一个要运行每个算法的恒定时间间隔,然后测量每个算法在该时间间隔内可以进行多少次迭代,而不是这样做,更有意义。
这样做,基准测试的可靠性将更加稳定。按照传统方式,基准测试对于需要时间的任务会更加可靠。
我还没有见过这种基准测试方法。人们真的这样做吗?这种衡量方式有基准框架吗?我问这个问题是一个非特定语言的问题,但是如果有这样的框架,特别是针对 Ruby 的框架,请介绍一些。或者我的这个想法是错误的?
最佳答案
我找到了这个 gem :benchmark/ips .
关于ruby - 按每个恒定间隔的迭代次数进行基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565570/