Laurent Sansonetti wrote:
On Apr 4, 2009, at 7:57 PM, Charles Oliver Nutter wrote:
The interesting thing about many of these microbenchmarks is that a substantial part of MacRuby's performance seems to come from one key optimization: recursive calls.

If you're talking about fib or tak, then yes (with of course fast fixnum arithmetic). There are still a few thing that we can do to improve these recursive benchmarks (also I realized I forgot to re-enable the tail-call optimization :-)).

Last time I benchmarked fib.rb we were able 2 times slower than the equivalent C version (compiled with -O0 though) and this included the startup time + parsing + compilation.

And I have been able to get JRuby's performance within a few times of Java performance, provided Java used boxed numerics. I have not put those optimizations in place because I could not be sure they were safe and I could not get them to pass tests/specs. In the future, that may change.

Now there are other areas that are (and will be further) optimized, such as blocks, lvars/ivars, method dispatch, etc.

I think the primary point I hoped to make was that we would both be well-served by exploring these optimizations together and determining which are safe and which are not. Most of the optimizations you will be able to do on LLVM will be applicable to JRuby on the JVM, and vice-versa. We could each go through the pain alone, or we could benefit from each other's efforts and discoveries.

- Charlie
_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to