Summer of Ruby Code
I want to take this opportunity to say some good words about the Ruby Summer of Code student I’ve been mentoring, Ricardo Panaggio. His project, which has two goals: to improve the thread synchronization features available and speed up ruby stdlib by reimplementing some classes in c.
So far, Ricardo has done some good work on the synchronization primitives. He has rewritten Queue in c, for something like a four-fold speedup. This inspired Nobu to convert SizedQueue and ConditionVariable as well. He also took an CountingSemaphore class which has been floating around for a while, cleaned it up, ported it to 1.9 and expanded it a little to work as a binary semaphore as well and ported that to c. Semaphores are a feature that I’ve long missed from ruby’s threading support.
I sure hope his patches will be accepted.