Sha256: 0c87a087885b5c5cd64c32855972c146356ec8a2d235d6a2f2e89725c14458bf

Contents?: true

Size: 546 Bytes

Versions: 26

Compression:

Stored size: 546 Bytes

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

require 'benchmark/ips'

enum = (0..50).to_a
nested = enum.map { |i| [i] }

def do_thing(blah)
  blah * 1
end

Benchmark.ips do |x|
  x.report('.map.flatten with nested arrays') { nested.map { |i| do_thing(i) }.flatten(1) }
  x.report('.flat_map with nested arrays')    { nested.flat_map { |i| do_thing(i) } }

  x.report('.map.flatten with no nested arrays') { enum.map { |i| do_thing(i) }.flatten(1) }
  x.report('.flat_map with no nested arrays')    { enum.flat_map { |i| do_thing(i) } }
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
lbenicio-minimal-v1-1.6.4 benchmark/flat-map
lbenicio-minimal-v1-1.6.3 benchmark/flat-map
lbenicio-minimal-v1-1.6.2 benchmark/flat-map
lbenicio-minimal-v1-1.6.1 benchmark/flat-map
lbenicio-minimal-v1-1.5.3 benchmark/flat-map
lbenicio-minimal-v1-1.5.2 benchmark/flat-map
lbenicio-minimal-v1-1.5.0 benchmark/flat-map
lbenicio-minimal-v1-1.4.0 benchmark/flat-map
lbenicio-minimal-v1-1.3.3 benchmark/flat-map
lbenicio-minimal-v1-1.3.2 benchmark/flat-map
lbenicio-minimal-v1-1.3.1 benchmark/flat-map
lbenicio-minimal-v1-1.3.0 benchmark/flat-map
lbenicio-minimal-v1-1.2.1 benchmark/flat-map
lbenicio-minimal-v1-1.2.0 benchmark/flat-map
lbenicio-minimal-v1-1.1.9 benchmark/flat-map
lbenicio-minimal-v1-1.1.8 benchmark/flat-map
lbenicio-minimal-v1-1.1.7 benchmark/flat-map
lbenicio-minimal-v1-1.1.6 benchmark/flat-map
lbenicio-minimal-v1-1.1.5 benchmark/flat-map
lbenicio-minimal-v1-1.1.4 benchmark/flat-map