The Cost of Ruby 1.9.3's GC::Profiler
jamesgolick.com
jamesgolick.com
Still though, that's ugly. There are a number of places where Ruby as a systems scripting language (small scripts, short runtime) really clashes with Ruby as an application language (large apps, long runtime), and the GC seems to be at the heart of most of them.
I guess this sums the problem perfectly.
Here's a link to the GC profiling agent code in the Newrelic Agent:
https://github.com/newrelic/rpm/blob/master/lib/new_relic/ag...
I don't have benchmarks to share, but Nakamura is a very smart guy, and if he says he can get it, I have no reason to doubt it.
[1] http://patshaughnessy.net/2012/3/23/why-you-should-be-excite...
Of all the things in Ruby that would be the least controversial to fix, it would be the Garbage Collector. Sadly, on a list of the things in Ruby that are sexy or easy fix, the Garbage Collector is dead last.
I really hope Ruby 2 focuses more on performance. Usually it's acceptable, but sometimes it's inexplicably bad.
Create an account on the bug tracker (http://bugs.ruby-lang.org) and open an issue with a patch attached. I've sent a few patches in to Ruby in the past and they're always pretty appreciative of the contribution.
Check out slide 37 and surrounding slides. If you're complaining about GC and aren't giving JRuby a shot, you're missing out. http://www.slideshare.net/CharlesNutter/why-jruby-rubyconf-2...