File tree Expand file tree Collapse file tree 2 files changed +18
-17
lines changed Expand file tree Collapse file tree 2 files changed +18
-17
lines changed Original file line number Diff line number Diff line change @@ -864,18 +864,24 @@ Comparison:
864864
865865```
866866$ ruby -v code/range/cover-vs-include.rb
867- ruby 2.2.2p95 (2015-04-13 revision 50295 ) [x86_64-darwin14 ]
867+ ruby 2.2.3p173 (2015-08-18 revision 51636 ) [x86_64-linux ]
868868
869869Calculating -------------------------------------
870- Range#cover? 95.445k i/100ms
871- Range#include? 9.326k i/100ms
870+ range#cover? 85.467k i/100ms
871+ range#include? 7.720k i/100ms
872+ range#member? 7.783k i/100ms
873+ plain compare 102.189k i/100ms
872874-------------------------------------------------
873- Range#cover? 2.327M (± 4.7%) i/s - 11.644M
874- Range#include? 99.652k (± 5.4%) i/s - 503.604k
875+ range#cover? 1.816M (± 5.6%) i/s - 9.060M
876+ range#include? 83.344k (± 5.0%) i/s - 416.880k
877+ range#member? 82.654k (± 5.0%) i/s - 412.499k
878+ plain compare 2.581M (± 6.2%) i/s - 12.876M
875879
876880Comparison:
877- Range#cover?: 2327220.4 i/s
878- Range#include?: 99651.6 i/s - 23.35x slower
881+ plain compare: 2581211.8 i/s
882+ range#cover?: 1816038.5 i/s - 1.42x slower
883+ range#include?: 83343.9 i/s - 30.97x slower
884+ range#member?: 82654.1 i/s - 31.23x slower
879885```
880886
881887
Original file line number Diff line number Diff line change 55END_OF_JULY = Date . new ( 2015 , 7 , 31 )
66DAY_IN_JULY = Date . new ( 2015 , 7 , 15 )
77
8- def fast
9- ( BEGIN_OF_JULY ..END_OF_JULY ) . cover? DAY_IN_JULY
10- end
11-
12- def slow
13- ( BEGIN_OF_JULY ..END_OF_JULY ) . include? DAY_IN_JULY
14- end
15-
168Benchmark . ips do |x |
17- x . report ( "Range#cover?" ) { fast }
18- x . report ( "Range#include?" ) { slow }
9+ x . report ( 'range#cover?' ) { ( BEGIN_OF_JULY ..END_OF_JULY ) . cover? DAY_IN_JULY }
10+ x . report ( 'range#include?' ) { ( BEGIN_OF_JULY ..END_OF_JULY ) . include? DAY_IN_JULY }
11+ x . report ( 'range#member?' ) { ( BEGIN_OF_JULY ..END_OF_JULY ) . member? DAY_IN_JULY }
12+ x . report ( 'plain compare' ) { BEGIN_OF_JULY < DAY_IN_JULY && DAY_IN_JULY < END_OF_JULY }
13+
1914 x . compare!
2015end
You can’t perform that action at this time.
0 commit comments