My understanding is that Ruby internally uses a custom VM (virtual
machine) to execute. This VM has its own set of instructions
(bytecode). I was wondering whether or not there were any plans to
allow one to compile Ruby down to a set of these instructions and stick
it into a binary file (much like Java, or .NET) and then use the Ruby’s
VM to execute it?
My understanding is that Ruby internally uses a custom VM (virtual
machine) to execute. This VM has its own set of instructions
(bytecode). I was wondering whether or not there were any plans to
allow one to compile Ruby down to a set of these instructions and stick
it into a binary file (much like Java, or .NET) and then use the Ruby’s
VM to execute it?
My understanding is that Ruby internally uses a custom VM (virtual
machine) to execute. This VM has its own set of instructions
(bytecode).
There are several different Ruby implementations:
The ‘default’ is MRI (Matz’s Ruby Impl), it’s an interpreter, no
bytecode
The “Next Gen” MRI, the 1.9 series includes YARV, which is a VM
customized towards ruby
There’s Rubinius, which is a bootstrapped Ruby impl, written almost
entirely in Ruby, which uses custom bytecode as well
JRuby is targeted towards JVM and (I think) can run either as an
interpreter or compile Ruby to Java bytecode.
IronRuby is a CLI based Ruby Impl.
So, there’s not just plans, the plans have long since been implemented
But the standard Ruby implementation currently doesn’t use
bytecode.
Hope this helps,
-tim
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.