Wednesday, June 9, 2010

Rubinius 1.0 at RailsConf

Rubinus is currently at 1.0.1 as of last week.

No continuations but otherwise Ruby 1.8.7 compatibility.

Faster string method performance through better algorithms than MRI and the just-in-time compiler.

DataMapper 1.0 was demonstrated with Rubinius 1.0 at RailsConf.

Rubinius has a built-in profiler -Xprofile. Also a sampling profiler which will show a high-level view of where your code spends its time - but with a negligible CPU overhead.

The Debugger is targeted to be fixed for 1.1. There is a Ruby API which can be used to integrate another debugger into Rubinius' debug support.

A new Query Agent API which can provide information about the state of the VM even when it is otherwise unresponsive. To be used with a control console (bin/rbx -Xagent.start and bin/rbx console) a port file is produced which the console reads to find how to communicate with the query agent. The console has commands such as pid, mem, set, threads, name and get. The latter gets variable values e.g. get system.backtrace produces the stack trace of the thread which is waiting for user input or whatever else the VM happens to be doing. This interface is very basic but has a lot of potential with future debugger/console integration.

No comments: