[MacRuby-devel] Running the experimental branch
lsansonetti at apple.com
Sat Apr 4 20:12:14 PDT 2009
On Apr 4, 2009, at 7:57 PM, Charles Oliver Nutter wrote:
> Laurent Sansonetti wrote:
>> For instance, the optimizations that are (and will be) implemented
>> in the experimental branch are not random but were selected after
>> having profiled a big MacRuby/Cocoa application and found many
>> areas where we performed badly. I assume that other implementations
>> are using similar techniques.
> 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.
Now there are other areas that are (and will be further) optimized,
such as blocks, lvars/ivars, method dispatch, etc.
More information about the MacRuby-devel