运用 阵列#清晰 根据我在MRI Ruby 2.1.2下的基准测试,似乎要快得多。请参阅下面的基准代码和结果。
require 'benchmark' i = 10_000 Benchmark.bmbm do |x| x.report(:literal) { i.times do a = Array.new(i); a = [] end } x.report(:clear) { i.times do a = Array.new(i); a.clear end } end
Rehearsal ------------------------------------------- literal 0.130000 0.110000 0.240000 ( 0.238041) clear 0.030000 0.010000 0.040000 ( 0.026735) ---------------------------------- total: 0.280000sec user system total real literal 0.110000 0.100000 0.210000 ( 0.217941) clear 0.030000 0.000000 0.030000 ( 0.025402)