MacRuby 0.5 Beta Brings JIT, AOT, GCD Support, Removes GIL

by Werner Schuster on  Oct 18, 2009

The first beta of MacRuby 0.5 is available, complete with a new VM, JIT and AOT - and without the GIL. InfoQ talked to the MacRuby core team about the state of MacRuby and whether there'll be a way to write Ruby apps for the iPhone using MacRuby.

Ruby VM Roundup: MacRuby Progress, IronRuby, Ruby 1.9.2 Delay

by Werner Schuster on  Sep 30, 2009

MacRuby is nearing its first RC for 0.5 and adds support for Grand Central Dispatch. A new IronRuby release is available, Ruby 1.9.2 might be delayed, and Rubinius joins the group of 1.8.7 compliant Ruby implementations.

Future of the Threading and Garbage Collection in Ruby - Interview with Koichi Sasada

by Werner Schuster on  Jul 31, 2009

InfoQ caught up with the creator of Ruby 1.9.x's VM Koichi Sasada to talk about what's coming for Ruby 1.9.2, the state of the Global Interpreter Lock (or Global VM Lock) and what it'll take to get a generational GC in 1.9.x.

Exploring Tuple Spaces Persistence In Ruby With Blackboard

by Sebastien Auvray on  Jul 13, 2009

Ruby has long been criticized for 1.8's limited green threads. Luc Castera gave a presentation at RubyNation about Concurrent Programming with Ruby and Tuple Spaces. He introduces 2 ways of implementing TupleSpaces in Ruby: Rinda and Blackboard using Redis (with plans to porting it to Erlang).

MacRuby Drops GIL, Gains Concurrent Threads

by Werner Schuster on  Jun 30, 2009 3

MacRuby joins the ranks of JRuby and IronRuby and moved away from Ruby 1.9's Global Interpreter Lock (GIL) in the experimental branch.

Rich Hickey on Clojure's Features and Implementation

by Werner Schuster on  May 26, 2009 1

In this interview from QCon London 2009, Rich Hickey talks about Clojure. The discussion includes the ideas behind Clojure's STM support, what other concurrency primitives Clojure supports and which ones might get added in the future. Other topics covered are Clojure's AOT support, the role and implementation of multimethods, Clojure ports to other systems and much more.

Performance Roundup: Heap Stacks Boost Threads in 1.8.x, MacRuby AOT, ZenProfile and EventHooks

by Werner Schuster on  May 23, 2009

New patches by Joe Damato improve the efficiency of Ruby 1.8.x's green threads with heap stacks: instead of copying the entire stack at every context switch, the patches actually switch between different stacks. Ryan Davis released zenprofile and event_hook for efficient profiling. Also: work on a MacRuby Ahead of Time compiler using LLVM has started.

Rails 2.2 Released: A Glance at New Features

by Mirko Stocker on  Nov 21, 2008 2

After two release candidates, Rails 2.2 has been released. We take a look at some of the major new features and improvements.

Article: The Limits of Code Optimization: a new Singleton Pattern Implementation

by Jean-Jacques Dubray on  Nov 18, 2008 20

The Java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Presentation: Concurrency: Past and Present

by Ryan Slobojan on  Sep 22, 2008 13

In this presentation from QCon London 2008, Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, Software Transactional Memory, the history of concurrency, alternatives to threads, Erlang, Scala, and recommendations for concurrency in Java.

Rails Roundup: Rails 2.2 Will Be Threadsafe, ETags Support in Rails Edge

by Werner Schuster on  Aug 26, 2008 2

Work is going on to make Rails 2.2 be thread safe - we look at what's been done. Also: ETags support has been added to Rails Edge.

Article: Do Java 6 threading optimizations actually work?

by Floyd Marinescu on  Jun 19, 2008 16

Features like biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking are all designed to increase concurrency by allowing more effective sharing amongst application threads. But do they actually work? In this two part article, Jeroen Borgers explores these features and attempt to answer the performance question with the aid of a single threaded benchmark.

Article: FXRuby: Create Lean and Mean GUIs with Ruby

by Werner Schuster on  May 27, 2008 1

"FXRuby: Create Lean and Mean GUIs with Ruby" is a new book about the FXRuby GUI library. InfoQ talked to the book's author Lyle Johnson about FXRuby's implementation, threading and more. Also: an InfoQ-exclusive sample chapter from the book.

Common Ruby MVM API research kicked off

by Werner Schuster on  Feb 28, 2008

Research on the topic of Multiple VM (MVM) Ruby will be conducted at the University of Tokyo together with Sun's JRuby team. The work will investigate issues such as communication between VMs and a common API across all Ruby implementations, with solutions provided initially for Ruby and JRuby.

Article: Ruby Concurrency, Actors, and Rubinius - Interview with MenTaLguY

by Werner Schuster on  Jan 31, 2008 1

Actors, Fibers/Coroutines, Rubinius' Multi-VM and other Concurrency topics have come up recently. To put all these concepts into perspective, we talked to Ruby's MenTaLguY, who's been working on Ruby fastthread, Ruby Actors implementations, Rubinius, and much more. Also: a glimpse at MenTaLguY's next project.