Issue #13443 has been reported by watson1978 (Shizuo Fujita).

----------------------------------------
Bug #13443: Improve performance of Range#{min,max}
https://bugs.ruby-lang.org/issues/13443

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
Range#{min,max} will be faster around 30%.

### Before
~~~
                user     system      total        real
Range#min   1.270000   0.010000   1.280000 (  1.279449)
Range#max   1.300000   0.000000   1.300000 (  1.310150)
~~~

### After
~~~
                user     system      total        real
Range#min   0.940000   0.010000   0.950000 (  0.967873)
Range#max   0.960000   0.010000   0.970000 (  0.983417)
~~~

### Test code
~~~
require 'benchmark'

Benchmark.bmbm do |x|

  x.report "Range#min" do
    10000000.times do
      (1..100).min
    end
  end

  x.report "Range#max" do
    10000000.times do
      (1..100).max
    end
  end

end
~~~

### Patch 
https://github.com/ruby/ruby/pull/1585



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>