File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -210,6 +210,24 @@ String#downcase + ==: 3348751.8 i/s - 1.26x slower
210210
211211### Array
212212
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+
213231##### ` Array#shuffle.first ` vs ` Array#sample ` [ code] ( code/array/shuffle-first-vs-sample.rb )
214232
215233> ` 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