Hi! On Mon, Nov 19, 2001 at 11:18:33PM +0900, David Alan Black wrote: > Hello -- > Without having done benchmarks, I like: > > len = 1000000 > a = Array.new(len, 1) > b = Array.new(len, 2) > c = (0...len).map {|i| a[i] + b[i]} Benchmarks show very bad results: $ cat p1.rb #!/usr/bin/env ruby len = 1000000 a = Array.new(len, 1) b = Array.new(len, 1) c = (0...len).map {|i| a[i] + b[i]} $ time p1.rb 18.010u 0.050s 0:18.11 99.7% 0+0k 0+0io 345pf+0w $ cat p2.rb #!/usr/bin/env ruby len = 1000000 a = Array.new(len, 1) b = Array.new(len, 1) c = Array.new(len) (1...len).each {|i| c[i] = a[i] + b[i]} $ time p2.rb 3.280u 0.060s 0:03.34 100.0% 0+0k 0+0io 343pf+0w That's almost a factor 6. I assume, that your method spend most of the time in building and extending the resulting array. Thanks, Martin. -- The early bird catches the worm. If you want something else for breakfast, get up later.