Sha256: ec085c28d9774dd40098772deace6b7aa8e77bf6b2be84a29b912369d6a60ae3

Contents?: true

Size: 692 Bytes

Versions: 4

Compression:

Stored size: 692 Bytes

Contents

root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
lib_dir = File.join(root_dir,'lib')
$LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)

require 'benchmark'
require 'combinatorics/list_comprehension'

Benchmark.bm(12) do |b|
  singleton_list = ([1] * 500)
  single_enum_list = [1..100, 1]
  depth_list = [1..100]

  b.report('singleton:') do
    singleton_list.comprehension.each { |list| list.last }
  end

  b.report('single-enum:') do
    single_enum_list.comprehension.each { |list| list.last }
  end

  (1..3).each do |n|
    deep_list = (depth_list * n)

    b.report("depth #{n}:") do
      deep_list.comprehension.each { |list| list.last }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
combinatorics-0.5.0 benchmarks/list_comprehension.rb
combinatorics-0.4.4 benchmarks/list_comprehension.rb
combinatorics-0.4.3 benchmarks/list_comprehension.rb
combinatorics-0.4.1 benchmarks/list_comprehension.rb