File tree Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -365,6 +365,22 @@ Comparison:
365365 Array#last: 7639254.5 i/s - 1.12x slower
366366```
367367
368+ ##### ` Array#insert ` vs ` Array#unshift ` [ code] ( code/array/insert-vs-unshift.rb )
369+
370+ ```
371+ $ ruby -v code/array/insert-vs-unshift.rb
372+ ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin10.0]
373+ Calculating -------------------------------------
374+ Array#unshift 4.000 i/100ms
375+ Array#insert 1.000 i/100ms
376+ -------------------------------------------------
377+ Array#unshift 44.947 (± 6.7%) i/s - 224.000
378+ Array#insert 0.171 (± 0.0%) i/s - 1.000 in 5.841595s
379+
380+ Comparison:
381+ Array#unshift: 44.9 i/s
382+ Array#insert: 0.2 i/s - 262.56x slower
383+ ```
368384
369385### Enumerable
370386
Original file line number Diff line number Diff line change 1+ require 'benchmark/ips'
2+
3+ Benchmark . ips do |x |
4+ x . report ( 'Array#unshift' ) do
5+ array = [ ]
6+ 100_000 . times { |i | array . unshift ( i ) }
7+ end
8+
9+ x . report ( 'Array#insert' ) do
10+ array = [ ]
11+ 100_000 . times { |i | array . insert ( 0 , i ) }
12+ end
13+
14+ x . compare!
15+ end
You can’t perform that action at this time.
0 commit comments