From: "M. Edward (Ed) Borasky" Date: 2006-08-18T14:25:10+09:00 Subject: Re: Percentage of time spent in method dispatch? M. Edward (Ed) Borasky wrote: > Mauricio Fernandez wrote: >> On Fri, Aug 18, 2006 at 06:05:12AM +0900, John Lam wrote: >>> I was wondering if anyone had taken a look at what % of time that ruby >>> spends doing method dispatch? >>> >>> I'll eventually do the experiments myself, but I wanted to check with >>> y'all to see if someone had already done some investigations. It would >>> be an interesting experiment to see how much you can improve method >>> dispatch performance by caching the reference to the method call >>> target, and invalidating it when the call context changes. >> The current implementation has a method cache whose hit rate is above 95% or >> so (don't remember the exact figure; it's not hard to reproduce anyway) --- >> full method lookups are relatively rare. >> >> Method dispatching is still fairly slow, though; I once measured that it took >> some ~200 instructions to run a CFUNC, and about half as much with YARV. >> Last time I read YARV's sources, it didn't have inline method caches (but it >> was caching constants, IIRC), but it's been a while and they might have been >> implemented meanwhile. >> > I'm about to re-post my profiling of Ruby on a moderate-sized "Matrix" > benchmark. I'll post the link as soon as I get it re-run. > > All done and uploaded ... the link is http://rubyforge.org/cgi-bin/viewvc.cgi/MatrixBenchmark/?root=cougar I re-ran this in single-user mode, so there is little interference from X, etc.