Rubinius 1.0

После трех с половиной лет разработки вышла первая мажорная версия Rubinius — альтернативной реализации языка Ruby.

Мотив проекта — использование ruby для разработки транслятора настолько, насколько это возможно.

Основные свойства:

  • VM. Изначально Rubinius использовал архитектуру, идентичную Smalltalk-80, теперь VM написана на C++ с использованием LLVM
  • Компилятор ruby на ruby
  • Поколенческий (generational) сборщик мусора
  • Libev (epoll, kqueue) для IO
  • Акторы и Каналы как одно из средств конкурентности
  • Совместимость с дефолтным C-API MRI (большинство расширений ruby могут работать сразу, хотя есть и исключения)
  • FFI, совместимый с MRI и JRuby
  • Отсутствие сколько-нибудь вменяемой документации

Rubinius включает в себя rubygems и позволяет использовать большинство библиотек и фреймворков (Sinatra, Rails, Rails-3, etc).

Несмотря на наличие JIT, хорошего GC и IO через libev, надеяться на серьезную разницу в общей производительности по сравнению с MRI 1.8.7 все еще не стоит.

По старой доброй традиции pkunzip.zip, чтобы собрать Rubinius нужен ruby-1.8.7.

©  Linux.org.ru