BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

Ruby 1.9 Roundup: Ruby-debug on 1.9, Ruby Switcher, MacRuby

| by Werner Schuster Follow 4 Followers on Aug 08, 2009. Estimated reading time: 1 minute |

Yehuda Katz recently asked what problems kept developers off Ruby 1.9. A big reason is the long list of libraries and tools that don't work with Ruby 1.9.x.
This list is steadily shortened, though, recently with the release of ruby-debug for Ruby 1.9.x. Ruby-debug uses native extensions to reduce the overhead of running Ruby code under the debugger.
Mark Moseley, the developer behind the port, recently released the code on GitHub, and is now working on reducing the debugger overhead even further. The basic idea is to set a breakpoint in Ruby code by putting a special instruction in the compiled Ruby code at the position where execution should stop.
The installation instructions for ruby-debug 1.9.x are available at GitHub.

Testing Ruby code on different Ruby implementations gets more important. There are options like MultiRuby or the Ruby versions site.
A new tool is Ruby Switcher. The idea is simple: a simple command switches the Ruby version, ie. use_ruby_191 switches to Ruby 1.9.1, whereas use_jruby makes the ruby and other binaries point to JRuby versions. The tool also comes with support for downloading and installing a list of Ruby versions.

Finally, MacRuby's experimental branch has been merged into trunk. The experimental branch introduced a new VM that uses LLVM for JIT and Ahead of Time (AOT) compilation. Another change was the removal of the GIL. MacRuby was forked off Ruby 1.9.x and inherited it's threading behavior, including the GIL.
It'll be interesting to see how MacRuby's threading performance fares in the next stable release; standard Ruby 1.9.x will probably retain he GIL in the near future.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT