Skip to content

Instantly share code, notes, and snippets.

@magical
Created August 22, 2013 23:46
Show Gist options
  • Save magical/6314089 to your computer and use it in GitHub Desktop.
Save magical/6314089 to your computer and use it in GitHub Desktop.
puts "String.concat"
1.upto(10) do |i|
i *= 10000
start = Time.now()
s = ""
0.upto(i) {
s << 'a'
}
puts "#{i}: #{Time.now()-start}s"
end
puts
puts "String.+"
1.upto(10) do |i|
i *= 10000
start = Time.now()
s = ""
0.upto(i) {
s += 'a'
}
puts "#{i}: #{Time.now()-start}s"
end
# Output:
# String.concat
# 10000: 0.003628255s
# 20000: 0.007205386s
# 30000: 0.009740625s
# 40000: 0.013012899s
# 50000: 0.015592767s
# 60000: 0.018479866s
# 70000: 0.021775747s
# 80000: 0.026601012s
# 90000: 0.027701989s
# 100000: 0.030865381s
#
# String.+
# 10000: 0.041802527s
# 20000: 0.139784829s
# 30000: 0.308081316s
# 40000: 0.534365841s
# 50000: 0.828843681s
# 60000: 1.190325788s
# 70000: 1.600225091s
# 80000: 2.063874599s
# 90000: 2.601308569s
# 100000: 3.215923589s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment