Основные изменения по сравнению с rc3



* Ускорение компиляции в байткод на 30%
* На rubinius проходят все тесты Rails3
* Улучшена поддержка CAPI
* Поиск подстроки в строке ускорен в 10 раз. (теперь она выполняется в 2 раза быстрее, чем на 1.8.7)
* Исправлено десятки багов.

Более полный список изменений.



Дальнейшие планы



Следующий релиз будет 1.0, и его смело можно ожидать в апреле-мае 2010 года. Основные цели — отсутствие актуальных ошибок в багтрекере и корректная работа простого Rails приложения. Все ускорения/оптимизации отложены на post-1.0.

О чем это я?



Rubinius — это реализация языка программирования Ruby.

Виртуальная машина в Rubinius написана на C++, также она использует LLVM для компиляция байткода в машинный код в режиме runtime. Сам компилятор байткода и большая часть основных классов реализованы на чистом Ruby (что не мешает Rubinius-у быть быстрее на достаточном числе тестов).

Для взаимодействия Ruby кода с виртуальной машины используются примитивы, которые можно очень легко вызвать из Ruby кода. Также реализован механизм FFI, обеспечивающий возможность вызовов большинства функций написанных на С напрямую.

На данный момент ведется разработка реализации, bug-to-bug совместимой с 1.8.7. Не смотря на очень скромное коммьюнити (2 core разработчика, 2 активных контрибутора) rubinius развивается достаточно активно, уже есть данные о работающих в production проектах.

Приходите на devconf.ru поговорим более подробно по теме. А пока отвечу на любые вопросы в комментариях. Более конкретные статьи по Rubinius в разработке.