Project

General

Profile

Actions

Bug #13357

closed

Improve Time#+ & Time#- performance

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

Status:
Closed
Assignee:
-
Target version:
-
[ruby-dev:50036]

Description

Improve Time#+ & Time#- performance

Time#+ & Time#- will be faster around 15%.
If internal values would have Fixnum,
optimized function improves performance.

Before

             user     system      total        real
Time#+   0.820000   0.000000   0.820000 (  0.818081)
Time#-   0.810000   0.000000   0.810000 (  0.813835)

After

             user     system      total        real
Time#+   0.710000   0.000000   0.710000 (  0.710241)
Time#-   0.710000   0.010000   0.720000 (  0.714151)

Test code

require 'benchmark'

Benchmark.bmbm do |x|

  x.report "Time#+" do
    t = Time.now
    2000000.times do
      t + 1
    end
  end

  x.report "Time#-" do
    t = Time.now
    2000000.times do
      t - 1
    end
  end

end

Patch

The patch is in https://github.com/ruby/ruby/pull/1547

Actions

Also available in: Atom PDF

Like0
Like0