InfoQ Homepage Threading Content on InfoQ
-
Rubinius Comes To EngineYard's AppCloud, Work on 1.9 and GIL Removal Continues
EngineYard now offers Rubinius on its AppCloud PaaS service. InfoQ talked to Evan Phoenix about the state of Rubinius, the new performance tools and the status of the GIL removal.
-
MacRuby Roundup: 0.7 Released, GCD-based Web Server, BridgeSupport
MacRuby 0.7 is out, with the usual performance and compatibility improvements, including Ruby 1.9.2 compatibility. To demonstrate MacRuby's tight integration with Snow Leopard's Grand Central Dispatch (GCD), the team has released ControlTower, a Rack-based web server. Also: with the new BridgeSupport, all native APIs can now be accessed and scripted.
-
Rubinius 1.1 - and the Future of the GIL
Rubinius 1.1 is out, with JIT and performance improvements, more powerful debugging and profiling capabilities. Also: the GIL algorithm gets an overhaul in 1.1 - but it'll soon be history. In the Hydra branch of the Rubinius project, a GIL-less Rubinius is being groomed, soon to join JRuby, IronRuby and MacRuby in the GIL-less VM crowd. InfoQ caught up with Evan Phoenix about the Hydra branch.
-
JRuby Roundup: JRuby-Prof Allows Fast Profiling, JRuby::Synchronized for Automatic Synchronization
JRuby-Prof is a new, low overhead profiler for JRuby which, unlike plain Java profilers, will generate clear, Ruby-specific reports. A new feature in JRuby is JRuby::Synchronized, a module that, when extended, will make all methods of a class synchronized.
-
MacRuby 0.5 Released, Debugger To Come in 0.6
MacRuby 0.5 has been released, with a new VM, AOT and JIT support. The GIL MacRuby inherited from Ruby 1.9 is now gone and Grand Central Dispatch support allows to keep a system's cores busy with Ruby threads. Work on the 0.6 release is already under way; a new debugger feature is already available in the trunk.
-
Dynamic Language Roundup: Python's GIL Gets Overhauled but not Removed, Squeak Comes to Android
The Unladen Swallow project that aims to speed up Python has proposed to be merged into mainstream Python. One of Unladen Swallow's goals was to remove the GIL; a new implementation of Python's GIL by Antoine Pitrou will be fairer and less intrusive on multicore CPUs. Also: Squeak Smalltalk has been ported to Android.
-
Clojure 1.1 Adds Transients, Chunked Sequences for Efficiency
Clojure 1.1 RC1 is out and cuts the overhead of functional programming with a few new constructs: transients bring controlled mutability for persistent data structures; chunked sequences make lazy sequences more efficient. InfoQ takes a look at what makes these improvements work.
-
MacRuby 0.5 Beta Brings JIT, AOT, GCD Support, Removes GIL
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
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
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
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
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
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
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
After two release candidates, Rails 2.2 has been released. We take a look at some of the major new features and improvements.