The roadmap is part of a extended 1.0RC process where we focus on running real-world applications, deployments, and assisting package maintainers to build packages for major OS distributions.
The sections below explain the roadmap by answering these questions:
Since May 2009, Rubinius development has substantially improved aspects of core library compatibility and performance, compatibility of the C-API interface, and implementation of the JIT compiler, including FFI method inlining and some generic Ruby method inlining.
There are three primary goals for this roadmap:
We focus on compatibility rather than "completeness" because the goal is to run real-world code. The RubySpec project is attempting to provide a progressively more complete measure of completeness, but that process is fairly open-ended. The metric for compatibility is successfully running people's applications.
The focus for performance work is parity with MRI 1.8.6. Rubinius is already faster, sometimes significantly faster, than MRI on micro-benchmarks but is often slower than MRI running applications. Most of the performance work has been done on the infrastructure (i.e. the core VM execution speed and the performance of the garbage collector). The next work will focus on the JIT and the algorithmic performance of the core library.
The focus on code quality is to make the code more accessible and to assist contributors so the pace of development can be accelerated. Part of code quality is better documentation for the VM and garbage collector. Another part is an improved build system to make packaging Rubinius easier, or even just checking out the code and experimenting with it.
The following are specific areas that we will focus on under the broad C, P, Q goals detailed above. The steps are categorized according to the main Rubinius components. The goals are listed in () after the item if appropriate. The JIT items are all focused on performance (P).