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