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 |