Sha256: f8421653e1bd14f8e9862b1a616c4c5d82dd36327881fe6b450c7bca51388fdc

Contents?: true

Size: 713 Bytes

Versions: 52

Compression:

Stored size: 713 Bytes

Contents

require 'benchmark'

iterations = 10_000_000

value = "hi"

Benchmark.bm(30) do |x|
  x.report("value.is_a?") { iterations.times { if value.is_a?(Integer); end } }
  x.report("value.respond_to?") { iterations.times { if value.respond_to?(:abs); end } }
  x.report("type === value") { iterations.times { if Integer === value; end} }
  x.report("case when") do
    iterations.times do
      case value
      when Integer
      end
    end
  end
  x.report("if x2") do
    iterations.times do
      if value.is_a?(Integer)
      elsif value.is_a?(String)
      end
    end
  end
  x.report("case when x2") do
    iterations.times do
      case value
      when Integer
      when String
      end
    end
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
cosmos-4.5.2-java test/benchmarks/is_a_benchmark.rb
cosmos-4.5.2 test/benchmarks/is_a_benchmark.rb
cosmos-4.5.1-java test/benchmarks/is_a_benchmark.rb
cosmos-4.5.1 test/benchmarks/is_a_benchmark.rb
cosmos-4.5.0-java test/benchmarks/is_a_benchmark.rb
cosmos-4.5.0 test/benchmarks/is_a_benchmark.rb
cosmos-4.4.2-java test/benchmarks/is_a_benchmark.rb
cosmos-4.4.2 test/benchmarks/is_a_benchmark.rb
cosmos-4.4.1-java test/benchmarks/is_a_benchmark.rb
cosmos-4.4.1 test/benchmarks/is_a_benchmark.rb
cosmos-4.4.0-java test/benchmarks/is_a_benchmark.rb
cosmos-4.4.0 test/benchmarks/is_a_benchmark.rb
cosmos-4.3.0-java test/benchmarks/is_a_benchmark.rb
cosmos-4.3.0 test/benchmarks/is_a_benchmark.rb
cosmos-4.2.4-java test/benchmarks/is_a_benchmark.rb
cosmos-4.2.4 test/benchmarks/is_a_benchmark.rb
cosmos-4.2.3-java test/benchmarks/is_a_benchmark.rb
cosmos-4.2.3 test/benchmarks/is_a_benchmark.rb
cosmos-4.2.2-java test/benchmarks/is_a_benchmark.rb
cosmos-4.2.2 test/benchmarks/is_a_benchmark.rb