YARV

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

YARV (Yet Another Ruby VM) — байткод-интерпретатор, разработанный для Ruby Коити Сасада (Koichi Sasada). Целью проекта является значительное уменьшение времени выполнения программ на 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 (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.
  4. The Ruby VM: Episode I — Shades of Gray
  5. merge YARV announcement by Koichi Sasada