Railshöck January 2019
Benoit Daloze
• Zurich, Switzerland
•
Talk
Date: January 29, 2019
Published: not published
Announced: unknown
Array and Hash are used in every Ruby program. Yet, current implementations either prevent the use of them in parallel (the global interpreter lock in MRI) or lack thread-safety guarantees (JRuby raises an exception on concurrent Array#<<). Concurrent::Array from concurrent-ruby is thread-safe but prevents parallel access.
This talk starts with an introduction to show how TruffleRuby works and then shows a technique to make Array and Hash thread-safe while enabling parallel access, with no penalty on single-threaded performance. In short, we keep the most important thread-safety guarantees of the global lock while allowing Ruby to scale up to tens of cores!
https://www.meetup.com/rubyonrails-ch/events/258090195
Railshöck January 2019