Array and Hash are used in every Ruby program, but current implementations either prevent to use them in parallel (MRI) or lack thread-safety guarantees (JRuby raises on concurrent Array#«). We show how to make Array and Hash thread-safe while allowing Ruby collections to scale up to tens of cores!
Benoit Daloze is a PhD student in Linz, Austria, researching concurrency in Ruby with TruffleRuby for the past several years. He has contributed to many Ruby implementations, including TruffleRuby, MRI and JRuby. He is the maintainer of ruby/spec, a test suite for the behavior of the Ruby programming language.