Project

General

Profile

Actions

Bug #13443

closed

Improve performance of Range#{min,max}

Added by watson1978 (Shizuo Fujita) almost 7 years ago. Updated almost 7 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:80713]

Description

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

Actions

Also available in: Atom PDF

Like0
Like0