记得以前做JS的时候,经常使用字面量方式来声明变量,特别是在循环里面,做了RUBY以后也一直沿用这个习惯.
今天得空来测试一下
require "benchmark"
Benchmark.bm do |x|
x.report("Array.new") do
10000000.times do
a = Array.new
end
end
x.report("[]") do
10000000.times do
a = []
end
end
end
结果如下:
user system total real
Array.new 12.625000 0.000000 12.625000 ( 12.640000)
[] 11.281000 0.578000 11.859000 ( 11.860000)
做个一千万次循环,结果差了个0.8秒,可见在RUBY里面,两者性能几乎接近,采用字面量式声明略快那么一点点.
纯属无聊的一个消遣..