[MacRuby-devel] Proposal: splitting macrubyc UI from logic

Mark Rada mrada at marketcircle.com
Sat Mar 12 17:40:03 PST 2011


Hi,

I have completed a proof of concept patch for MacRuby where I have split the UI of macrubyc from the underlying logic so that tools like macruby_deploy can make use of the compiler without having to spawn a new macruby process for each file that needs to be compiled. This should also be beneficial for compiling gems and the standard library.

After having made this patch, I realized that there are still several places in the compiler where a new process is spawned to perform part of the compilation. I'm not really sure how much else can be lib-ified from the other required components. Overall there are still a few places that I know I can optimize without much work needed.

Right now, compile time for ruby files with about 100-200 lines of code is about 1(+/-0.1) seconds on my MBP. Spawning a new macruby process and processing the macrubyc options takes about 0.25 seconds; so I think the patch is still useful in the general case.

The code for the changes is located in my MacRuby fork on github: https://github.com/ferrous26/MacRuby/tree/libify-rubyc

Mark Rada
mrada at marketcircle.com



More information about the MacRuby-devel mailing list