[MacRuby-devel] branches/experimental

Charles Oliver Nutter charles.nutter at sun.com
Sat Mar 28 21:46:34 PDT 2009


Laurent Sansonetti wrote:
> Hi guys,
> 
> As some of you already noticed we have been working on a branch for a 
> few weeks and I thought it's now time to describe what has been done and 
> were we are going exactly.

Very cool stuff...some low-level benchmarks seem to have really 
excellent performance.

I know you probably don't need bugs filed against 'experimental' yet, 
but I had a couple questions:

1. Is there a way to tell what's compiling and what isn't? Some 
benchmarks I run are fast, and some others are incredibly slow. I'd like 
to know what's representative of actual performance.
2. Is there a way to turn off peephole optimizations? Lots of benchmarks 
out there, including some we have in JRuby, have a lot of dead code 
(like repeated assignments to a local variable). That's going to 
confound a lot of benchmarking, since most of the benchmark isn't 
actually being run. JRuby has a flag to turn off peephole optz (though I 
often forget to turn it on).
3. You probably know about these, but I noticed there are numerous 
problems with eval:

* Running an eval benchmark caused the system to blow up, claiming it 
ran out of space for machine code
* bindings appear to be missing altogether
* The binding associated with a block does not appear to work, as in p = 
proc { }; eval 'something', p.binding. This troublesome feature is one 
reason many local variable optimizations are much more difficult.

I'm looking forward to seeing future results and getting some guidance 
on where we can expect to see the best performance right now. I'd also 
love to talk about some techniques you're using to see if they'd be 
applicable for JRuby.

- Charlie


More information about the MacRuby-devel mailing list