Roger Pack wrote:
>> File ruby-1.8.7-rational.patch added
> 
> I assume this can't be applied to the 1.9 branch then?
> -r
> 

1.9 Rational is implemented in C, but might be able to be "improved" -- 
haven't looked into gprof'ing rational.c.

I'm in the process of migrating a *huge* (and I mean *huge*) RoR 
enterprise from 1.8.6 to 1.8.7 REE.

We have a lot of code sitting on top of Date and DateTime; Rational is 
certainly causing a measurable performance hit for us.  I've even gone 
so far as to memoize (via aspect orientation) most of the operations in 
Date and DateTime - it appears to be helping for long running process, 
at least it reduces GC.

However, maybe we should consider backporting 1.9 rational.c (and 
complex.c) to 1.8.7?

But, IMO, if Ruby code part of core, it should perform as best as 
possible before being forced to rewrite it in C.  There are probably 
plenty of other things that I could probably tweak in core, but right 
now Rational is the "long stick in the pile" based on ruby-prof results 
of our apps.

KAS