Sha256: 6517ab5f40d282c11b4613de24fd1979120fa813a79a407d71cb7edeaed0c661

Contents?: true

Size: 452 Bytes

Versions: 2

Compression:

Stored size: 452 Bytes

Contents

require 'benchmark/plot'

class TestArray
  attr_reader :arr

  def initialize arr
    @arr = arr
  end

  def to_s
    @arr.size.to_s
  end
end

test_data = [5, 25, 50, 75, 100, 125, 150, 175, 200,250,300]
test_data.map! {|e| TestArray.new(Array.new(e) {|i| i}) }

Benchmark.plot(test_data) do |x|
  x.report("map.flatten") do |data|
    data.arr.map { [nil]  }.flatten
  end

  x.report("flat_map") do |data|
    data.arr.flat_map { [nil] }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
benchmark-plot-0.1.1 examples/mapflat_vs_flat_map/flat_vs_flat_map.rb
benchmark-plot-0.1 examples/flat_vs_flat_map.rb