From: "rubikitch ." Date: 2008-11-10T05:41:10+09:00 Subject: [ruby-dev:37051] [Bug #736] Range#include? が遅い Bug #736: Range#include? が遅い http://redmine.ruby-lang.org/issues/show/736 起票者: rubikitch . ステータス: Open, 優先度: Normal Ruby 1.9でRange#include?がものすごい遅いようです。 require 'benchmark' RUBY_VERSION # => "1.8.7" Benchmark.bmbm(10) do |b| n = 100 b.report("include") { n.times{ ("an".."ruby").include? "elf" }} b.report("between") { n.times{ "elf".between?("an","ruby") }} end # >> Rehearsal --------------------------------------------- # >> include 0.000000 0.000000 0.000000 ( 0.000278) # >> between 0.000000 0.000000 0.000000 ( 0.000113) # >> ------------------------------------ total: 0.000000sec # >> # >> user system total real # >> include 0.000000 0.000000 0.000000 ( 0.000233) # >> between 0.000000 0.000000 0.000000 ( 0.000113) require 'benchmark' RUBY_VERSION # => "1.9.0" Benchmark.bmbm(10) do |b| n = 100 b.report("include") { n.times{ ("an".."ruby").include? "elf" }} b.report("between") { n.times{ "elf".between?("an","ruby") }} end # >> Rehearsal --------------------------------------------- # >> include 0.420000 0.000000 0.420000 ( 0.417621) # >> between 0.000000 0.000000 0.000000 ( 0.000116) # >> ------------------------------------ total: 0.420000sec # >> # >> user system total real # >> include 0.420000 0.000000 0.420000 ( 0.422576) # >> between 0.000000 0.000000 0.000000 ( 0.000120) ---------------------------------------- http://redmine.ruby-lang.org