Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Rubinius, the Ruby VM

This branch is 9823 commits behind rubinius:master

Failed to load latest commit information.
benchmark Keep the report lined up even if the label is long
bin
kernel Audited signatures of FFI methods
lib Audited signatures of FFI methods
mspec Updated MSpec source to 6563955d.
preinstalled-gems Fix Debugger.start in ruby-debug compat mode
projects Use ugly kludge workaround for weird daedalus bug
rakelib Automatically calculate the previous release date
resources Add back Doxygen support for generating VM docs
runtime
spec Adding spec to confirm that Hash#reject taints.
tools QueryAgent supports multiple clients, more commands
vm Make the gcc gods happy
web Update website for 1.2.3
.autotest
.gdbinit Add functions to help debug object leaks
.gitignore Merge branch 'daedalus'
AUTHORS Added contact info for Victor.
LICENSE Correct typos in LICENSE file, spotted by raggi
README Better docs on installing gems with rbx.
Rakefile Bump dev version number
THANKS blah
configure Bump dev version number

README

1. What is Rubinius

Rubinius is an implementation of the Ruby programming language. Rubinius
includes a bytecode virtual machine, parser, bytecode compiler, garbage
collector, JIT native machine code compiler, and Ruby core and standard
libraries.

Rubinius currently is compatible with Ruby version 1.8.7. Support for Ruby
version 1.9.2 is coming soon.


2. License

Rubinius uses the BSD license. See LICENSE for details.


3. Installing Rubinius

Rubinius runs on Mac OS X and many Unix/Linux operating systems. Support for
Microsoft Windows is coming soon.

For more information about building and running Rubinius, run 'rake docs'.

To install Rubinius, use the following steps:

  1. Ensure you have MRI 1.8.7+, rubygems, rake, and git installed
  2. git clone git://github.com/evanphx/rubinius.git
  3. cd rubinius
  4. ./configure --prefix=/path/to/install/dir
  5. rake install

When the install process finishes, follow the directions to add the Rubinius
executable (bin) directory to your PATH.

Rubinius comes with RubyGems built-in. To install a gem, run the following:

  rbx gem install <gem_name>

After installing Rubinius, you can access the built-in documentation at any
time by running 'rbx docs'.

3.1 Installing with RVM

You may wish to use the Ruby Version Manager (RVM) project to install
Rubinius. For the most current documentation for RVM, please visit
http://rvm.beginrescueend.com. Generally, the following commands should work:

  rvm install rbx         # Installs the current release
  rvm install rbx-head    # Installs the Rubinius master branch

Once installed, 'rvm use rbx' should make Rubinius the available Ruby.


4. Version 1.1

Rubinius has been under development as a public open-source project since
November 2006. Rubinius development is sponsored by Engine Yard, Inc. and
assisted by the generous work of over 100 contributors.

At version 1.1, Rubinius is significantly feature-complete. It is expected
that your Ruby code will run correctly. Additionally, many MRI C extensions
are expected to work, as long as they do not depend on MRI-specific object
internals or the MRI interpreter internals.

With the JIT, Rubinius performance is quite good, sometimes faster than MRI
and sometimes slower. Rubinius generally executes Ruby code very fast as
compared to MRI. However, since the majority of the Ruby core library is also
implemented in Ruby rather than C as it is in MRI, code that depends heavily
on Array, Hash, String, etc. may run slower in Rubinius right now. As the JIT
improves, overall performance of your code under Rubinius will improve.


5. Goals

* Thread safety. Rubinius intends to be thread-safe so you could embed more
  than one interpreter in a single application.

* Clean, readable code that is easy for users to understand and extend.

* Reliable, rock-solid code. Valgrind is used to help verify correctness.

* Bring modern research in virtual machines, garbage collectors, and compilers
  to the Ruby programming language.


6. Tickets

Please file tickets for bugs or problems that you encounter. The issue tracker
is: http://github.com/evanphx/rubinius/issues. Run 'rake docs' for more
details.


7. Contributing

The Rubinius team welcomes contributions. Run 'rake docs' and see the
"Contributing" page.
Something went wrong with that request. Please try again.