Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
require 'benchmark' class Symbol def to_proc Proc.new { |*args| args.shift.__send__(self, *args) } end end n = 10000 s = Struct.new :id messages = [] n.times { messages << s.new(:id => rand(n)) } Benchmark.bm do |x| # Integer x.report { n.times { messages.map{|m| m.id} } } x.report { n.times { messages.map(&:id) } } end # $ ruby perform.rb # user system total real # 33.280000 0.860000 34.140000 ( 34.912584) # 191.940000 1.660000 193.600000 (197.168849)
This paste will be private.
From the Design Piracy series on my blog: