diff options
| author | Benoit Daloze <eregontp@gmail.com> | 2024-02-13 18:20:12 +0100 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-02-14 15:56:42 +0000 |
| commit | f4a0e1cdb453ee4389b1db258601e4a96471a4f5 (patch) | |
| tree | f146389bbfaf909710d6053723d681995e3a351a /test/ruby | |
| parent | c2d8d6eba6a1c9e51c2f2ae136e92468c6841472 (diff) | |
Prefer `Array.new(n) {}` to `n.times.map {}`
* It is quite a bit faster:
ruby -rbenchmark/ips -e 'Benchmark.ips { |x| x.report("times.map") { 1000.times.map {} }; x.report("Array.new") { Array.new(1000) {} }; x.compare! }'
ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux]
Warming up --------------------------------------
times.map 976.000 i/100ms
Array.new 1.641k i/100ms
Calculating -------------------------------------
times.map 9.808k (± 0.3%) i/s - 49.776k in 5.075013s
Array.new 16.601k (± 1.0%) i/s - 83.691k in 5.041970s
Comparison:
Array.new: 16600.8 i/s
times.map: 9808.2 i/s - 1.69x slower
Diffstat (limited to 'test/ruby')
0 files changed, 0 insertions, 0 deletions
