File tree 2 files changed +27
-0
lines changed
2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -210,6 +210,24 @@ String#downcase + ==: 3348751.8 i/s - 1.26x slower
210
210
211
211
### Array
212
212
213
+ ##### ` Array#bsearch ` vs ` Array#find ` [ code] ( code/array/bsearch-vs-find.rb )
214
+
215
+ ```
216
+ $ ruby -v code/array/bsearch-vs-find.rb
217
+ ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]
218
+
219
+ Calculating -------------------------------------
220
+ find 1.000 i/100ms
221
+ bsearch 42.216k i/100ms
222
+ -------------------------------------------------
223
+ find 0.184 (± 0.0%) i/s - 1.000 in 5.434758s
224
+ bsearch 577.301k (± 6.6%) i/s - 2.913M
225
+
226
+ Comparison:
227
+ bsearch: 577300.7 i/s
228
+ find: 0.2 i/s - 3137489.63x slower
229
+ ```
230
+
213
231
##### ` Array#shuffle.first ` vs ` Array#sample ` [ code] ( code/array/shuffle-first-vs-sample.rb )
214
232
215
233
> ` Array#shuffle ` allocates an extra array. <br >
Original file line number Diff line number Diff line change
1
+ require 'benchmark/ips'
2
+
3
+ data = [ *0 ..100_000_000 ]
4
+
5
+ Benchmark . ips do |x |
6
+ x . report ( 'find' ) { data . find { |number | number > 77_777_777 } }
7
+ x . report ( 'bsearch' ) { data . bsearch { |number | number > 77_777_777 } }
8
+ x . compare!
9
+ end
You can’t perform that action at this time.
0 commit comments