YARV

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
YARV
Тип Ruby виртуальная машина
Разработчик Коити Сасада[d]
Написана на Си
Лицензия GNU GPL и Лицензия Ruby[d]
Сайт ruby-lang.org

YARV (Yet Another Ruby VM) — байткод-интерпретатор, разработанный для Ruby Коити Сасада. Целью проекта является значительное уменьшение времени выполнения программ на Ruby.

YARV стал основным интерпретатором в версии Ruby 1.9, так же, его называют KRI (Koichi’s Ruby Interpreter), по аналогии с MRI (Matz’s Ruby Interpreter).

Результаты бенчмарков сайта rubychan.de показали что скорость работы сильно возросла[1] Бенчмарки Antonio Cangiano показали, что скорость возросла в среднем в четыре раза[2]. Оба бенчмарка состояли, в основном, из синтетических тестов.

Ruby on Rails работает с YARV быстрее примерно на 15 % чем с Ruby 1.8.6[3]. Однако, время запуска и работа с ActiveRecord всё ещё медленны.

История[править | править код]

Первого января 2007 года, ветвь разработки YARV произвела слияние с основной веткой разработки Ruby на Subversion репозитории[4].

Создатель Ruby Юкихиро Мацумото полностью встроил YARV в Ruby версии 1.9.0, релиз которой произошёл 26 декабря 2007 года[5]. С того времени YARV стал официальным интерпретатором Ruby, заменив старый, разработанный Мацумото.

См. также[править | править код]

Ссылки[править | править код]

Примечания[править | править код]

  1. Benchmarks: Ruby 1.8 and Ruby 1.9 Архивировано 5 января 2007 года. (rubychan.de)
  2. Cangiano, Antonio The Great Ruby Shootout (12 марта 2007). Дата обращения: 1 февраля 2008. Архивировано 23 февраля 2012 года.
  3. Rails on 1.9: first benchmarks, YARV exposed to non-synthetic tests. eigenclass.org (28 марта 2007). — «When benchmarking basic requests with a minimalistic schema (only one int column), even though YARV serviced requests 15% faster, it took much longer to load the environment (50% slower). This comes as no surprise since plain old (evil) eval is slower in YARV (...)In fact, the mere fact of requiring active_record (and indirectly ActiveSupport) causes a sharp decrease in performance.». Дата обращения: 13 сентября 2008. Архивировано 18 декабря 2008 года.
  4. The Ruby VM: Episode I Архивировано 26 мая 2012 года. — Shades of Gray
  5. merge YARV Архивная копия от 4 сентября 2012 на Wayback Machine announcement by Koichi Sasada