Interview: Wilson Bilkovich Discusses Rubinius

by Werner Schuster on Feb 20, 2008 |
Rubinius core team member Wilson Bilkovich sat down with InfoQ at RubyConf 2007 to discuss what has been keeping him busy recently. A big theme is Rubinius and various aspects of the VM, such as threading and various concurrency aspects. An example of the topics covered:
Being a virtual machine everything is virtual so you are making a virtual CPU. And since there is this whole platform underneath you can decide what you want to do with that. You can map one to an operating system thread or you can map one and three of its friends to one operating system thread and schedule it. You can map all of them to one; you can do whatever you want. And depending on the hardware or depending on the work load you might make different decisions about using native threads or green threads or whatever. There is a whole universe of decisions you can make all the way from the way Erlang does it to the way Ruby 1.8 does it, to the way Java does it and they each go for different things. If there was one that was perfect for everything people would have just picked it.
The Ruby source to Rubinius bytecode compiler (which had just been rewritten prior to this interview) is another big topic, with Wilson giving an in-depth explanation of the problems of compiling the trickier Ruby language constructs.  Virtual Machine design aspects also come up in the interview, such as the Smalltalk Blue Book, upon which the Rubinius design is based:
The Smalltalk blue book has a concept called primitives which are not CPU instructions but are methods that are implemented inside the virtual machine at a level much lower than a regular method. And you do it when you need something to be efficient or you needed to talk to the platform in a way that you feel ready to expose or whatever. There are various reasons to do it. And I know our list of primitives is completely different from the set that is in the blue book at this point.
Wilson is also a member of the Ruby Hit Squad, which gathered in 2007 to write Vlad, The Deployer, a simpler competitor to the popular deployment tool Capistrano. The idea behind Vlad and that prompted it's creation are explained.

Watch Wilson Bilkovich Discusses Rubinius.

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

General Feedback
Marketing and all content copyright © 2006-2016 C4Media Inc. hosted at Contegix, the best ISP we've ever worked with.
Privacy policy

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.