Sha256: 05def3c5cfaba201ad891888f1543680c5ffa7a5ca647daa2ec22f5db9fe41b3

Contents?: true

Size: 765 Bytes

Versions: 1

Compression:

Stored size: 765 Bytes

Contents

#!/usr/lib/env ruby

require 'pathname'
require 'benchmark'
root  =  Pathname(__FILE__).dirname
require root.join('lib/every.rb')
 
unless defined?(:a.to_proc)
  class Symbol
    def to_proc() proc { |obj| obj.__send__(self) } end
  end
end

puts
puts "One iteration"
n = 100_000
Benchmark.bm(15) do |bm|
  bm.report('Block:')           { (0..n).map {|i| i.floor } }
  bm.report('Symbol#to_proc:')  { (0..n).map(&:floor) }
  bm.report('every:')           { (0..n).every.floor }
end

puts
puts "Two iterations"
n = 100_000
Benchmark.bm(15) do |bm|
  bm.report('Block:')           { (0..n).map {|i| i.floor }.map {|i| i.next } }
  bm.report('Symbol#to_proc:')  { (0..n).map(&:floor).map(&:next) }
  bm.report('every:')           { (0..n).every.floor.every.next }
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mynyml-every-0.6 benchmarks.rb