Rubinius, the Ruby Environment
Fetching latest commit…
Cannot retrieve the latest commit at this time
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. 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 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.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. For more documentation, build Rubinius and run the 'rbx docs' command. 7. Contributing The Rubinius team welcomes contributions. Run 'rbx docs' and see the "Contributing" page.