Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Rubinius, the Ruby VM

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 benchmark
Octocat-spinner-32 bin
Octocat-spinner-32 doc
Octocat-spinner-32 kernel
Octocat-spinner-32 lib
Octocat-spinner-32 mspec
Octocat-spinner-32 preinstalled-gems
Octocat-spinner-32 rakelib
Octocat-spinner-32 runtime
Octocat-spinner-32 spec
Octocat-spinner-32 tools
Octocat-spinner-32 vm
Octocat-spinner-32 .autotest
Octocat-spinner-32 .gdbinit
Octocat-spinner-32 .gitignore
Octocat-spinner-32 AUTHORS
Octocat-spinner-32 INSTALL
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README
Octocat-spinner-32 Rakefile
Octocat-spinner-32 THANKS
Octocat-spinner-32 configure
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 implements Ruby version 1.8.7.


2. License

Rubinius uses the BSD license. See LICENSE for details.


3. Installing Rubinius

Rubinius runs on many *nix operating systems. Rubinius does not yet run on
Microsoft Windows.

To install Rubinius, use the following steps. For more information about
building and running Rubinius, see doc/getting_started.txt.

Before installing Rubinius, ensure you have MRI version 1.8.7, rubygems, rake,
and git installed.

  1. git clone git://github.com/evanphx/rubinius.git
  2. cd rubinius
  3. ./configure --prefix=/path/to/install/dir
        OR if you have LLVM installed
     ./configure --skip-system --prefix=/path/to/install/dir
  4. rake install
  5. Add /path/to/install/dir/bin to your PATH
  6. Run rbx some_script.rb or just rbx to launch irb.


4. Version 1.0

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.0, 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. See doc/howto/write_a_ticket.txt


7. Contributing

The Rubinius team welcomes contributions. See doc/contributing.txt.
Something went wrong with that request. Please try again.