Issue #7984 has been updated by drbrain (Eric Hodel).


=begin

Even with irb:

  $ irb -rbenchmark
  irb(main):001:0> RUBY_DESCRIPTION
  => "ruby 2.0.0p0 (2013-02-24 revision 39473) [x86_64-darwin12.2.1]"
  irb(main):002:0> Benchmark.measure { 50000000.times { Object.new } }
  => #<Benchmark::Tms:0x007fe212a56e90 @label="", @real=10.025233, @cstime=0.0, @cutime=0.0, @stime=0.0, @utime=10.03, @total=10.03>


  $ irb19 -rbenchmark
  irb(main):001:0> RUBY_DESCRIPTION
  => "ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-darwin12.2.1]"
  irb(main):002:0> Benchmark.measure { 50000000.times { Object.new } }
  =>  14.810000   0.000000  14.810000 ( 14.819111)

Maybe it is due to #7778?
=end

----------------------------------------
Bug #7984: Severe speed issues in 2.0.0 compiled with Clang
https://bugs.ruby-lang.org/issues/7984#change-37239

Author: jcole1989 (James Coleman)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: 2.0.0p0 on darwin


I've been comparing Ruby 2.0.0 with 1.9.3-head, both compiled with the same basic set of CFLAGs with Clang on Mac OS 10.8 (Mountain Lion). A decent sized rails app was showing performance degradations, so I looked into the most basic of (micro)benchmarks. Running the following:

t = Benchmark.measure do
  50000000.times { Object.new }
end

Gives me the following output:

1.9.3-head: 11.240000 0.000000 11.240000 ( 11.247285)
2.0.0p0: 23.610000 0.010000 23.620000 ( 23.629643)

Ruby 2.0.0 takes over twice as long as 1.9.3. In contrast, running the same test under rubies compiled with GCC on linux (unfortunately I can't do a direct test on OSX because 2.0.0 currently won't compile under the current apple gcc 4.2) Ruby 2.0.0 shows a 15-20% speed improvement over 1.9.3.

So it seems there's a severe speed regression interaction with the ruby 2.0.0 code and Clang.


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