lazy_test.rb

Innokenty Mikhailov, 03/21/2012 10:24 PM

Download (428 Bytes)

 
1
require 'benchmark'
2

    
3
N = 100
4
def test_lazy(array)
5
  Benchmark.bm(10) do |r|
6
    r.report('Lazy:') do
7
      N.times do
8
        array.lazy.map { |x| x * 10 }.map { |x| x * 100 }.map { |x| x * 100 }.each { |x| x * 1000 }
9
      end
10
    end
11
    r.report('Normal:') do
12
      N.times do
13
        array.map { |x| x * 10 }.map { |x| x * 100 }.map { |x| x * 100 }.each { |x| x * 1000 }
14
      end
15
    end
16
  end
17
end
18

    
19
test_lazy([1,2,3]*1000)