ruby 使用#include在Array和Hash中查找项目的基准?方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 使用#include在Array和Hash中查找项目的基准?方法相关的知识,希望对你有一定的参考价值。

require 'benchmark'

a = ('a'..'zzzzz').to_a
h = {}
a.each {|e| h[e] = :ok}

Benchmark.bmbm do |x|
  x.report("find z in array") { a.include? 'z' }
  x.report("find zz in array") { a.include? 'zz' }
  x.report("find zzz in array") { a.include? 'zzz' }
  x.report("find zzzz in array") { a.include? 'zzzz' }
  x.report("find zzzzz in array") { a.include? 'zzzzz' }
  x.report("find z in hash") { h.include? 'z' }
  x.report("find zz in hash") { h.include? 'zz' }
  x.report("find zzz in hash") { h.include? 'zzz' }
  x.report("find zzzz in hash") { h.include? 'zzzz' }
  x.report("find zzzzz in hash") { h.include? 'zzzzz' }
end

以上是关于ruby 使用#include在Array和Hash中查找项目的基准?方法的主要内容,如果未能解决你的问题,请参考以下文章

CF1204B Mislove Has Lost an Array

ruby 参考has_many和belongs_to相同的模型

Set.has() 方法 O(1) 和 Array.indexOf O(n) 吗? [复制]

ruby 小要点说明使用has_one而不是belongs_to来利用父传递

Ruby Array.collect 迭代器块中的条件

ruby 参考文献has_many