Today I implemented enough to get redblack working:

* Module, class, and metaclass definition
* Yield and closure arguments passed into compiled IR bodies
* Various tweaks to get things working and performing a bit better

Now I should say this is a *modified* version of redblack that doesn't
have any optional-args methods, and the benchmark runner does not work
yet. But this is a good milestone, I think, since it's a nontrivial
piece of code.

The code and benchmark numbers (compared to current compiler) are
gisted here: https://gist.github.com/2522435

The tldr is that IR2JVM compiler is, for this benchmark, already
comfortably faster than Ruby 1.9.3 (like 1/3 faster), and somewhere
between 2-4x slower than the current compiler. The speed difference is
likely due to the IR version doing more work, creating more objects,
or not binding as many calls as directly as in the current compiler
(the current compiler binds almost all call straight through).

I think it's a great result to start with :) Now we can continue
iterating on this and making the IR and the compiler's translation of
it more efficient.

- Charlie

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to