Какая реализация Ruby? Ruby 1.8, 1.9 и JRuby имеют совершенно разные реализации потоков, так что это может быть невозможно сказать.
У меня нет ответа на ваш вопрос, но, похоже, вы пытаетесь написать быстрый параллельный код на Ruby. Мой опыт работы с Ruby 1.8 заключается в том, что это не разумная цель. Ruby 1.9 может быть лучше, но все еще имеет глобальную блокировку интерпретатора, такую как Python.
Если вы пишете код на Ruby, где вы рассматриваете такие потенциально опасные оптимизации для снижения производительности, вам, вероятно, следует подумать об использовании другого языка. Идиоматический рубин имеет тенденцию подчеркивать удобочитаемость и выразительность перед эффективностью и скоростью. Попытка выжать увеличение скорости и повышение надежности из МРТ было для меня разочарованием.
Я некоторое время работал над проектом Ruby, который только что вступил в фазу, когда мы серьезно смотрим на оптимизацию. Запуск проекта в JRuby и замена узких мест, реализованных в Ruby библиотеками Java, привели к довольно заметному увеличению скорости и надежности при относительно небольших усилиях с нашей стороны.
JRuby не совершенен, но его интеграция с Java оказалась полезной и простой. Если вы не можете использовать JRuby для своего проекта, или вам удобен C, но не Java, и вы уверены, что можете написать безопасный C без утечек памяти, лучше всего написать расширения C для Ruby 1.8 или 1.9.
Прошу прощения, если этот вопрос носил чисто академический характер. Возможно, если бы вы могли сообщить нам, что именно вы пытаетесь сделать?