[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