[MacRuby-devel] Running the experimental branch

Laurent Sansonetti 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.

Laurent


More information about the MacRuby-devel mailing list