Re:Ruby Tips, Part 5
by xentronium on Tuesday April 22, 2014 @07:46PM
(#7631214)
require "benchmark"
n = 100_000
A = "foo " * 20
B = "bar " * 20
C = "baz " * 20
D = "foobar " * 20
STRINGS = [A, B, C, D]
Benchmark.bm(4) do |x|
x.report("<<") do
n.times do
"" << A << B << C << D
end
end
x.report("join") do
n.times do
STRINGS.join
end
end
end
user system total real
<< 0.090000 0.010000 0.100000 ( 0.102411)
join 0.070000 0.010000 0.080000 ( 0.071142)
Here's a simple benchmark:
The results I get for this are: I'd be interested to see if there were any use cases where the relative performance was reversed.