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:
365
365
Array#last: 7639254.5 i/s - 1.12x slower
366
366
```
367
367
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
+ ```
368
384
369
385
### Enumerable
370
386
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