YARV | это... Что такое YARV? (original) (raw)

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). Архивировано из первоисточника 23 февраля 2012. Проверено 1 февраля 2008.
  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 IShades of Gray
  5. merge YARV announcement by Koichi Sasada
Просмотр этого шаблона Ruby (категория)
IDE ActiveState KomodoEric • RubyForge • RadRailsRubyMine
Реализации Ruby MRI • YARVJRubyIronRubyRubinius • XRuby • MacRuby • RubyJS • HotRuby
Приложения RubyGemsRakeInteractive Ruby Shell • Capistrano • Hackety Hack
Библиотеки и фреймворки Adhearsion • Camping • eRuby (RHTML) • Hobo • Merb • Nitro • RubyCocoa • Ruby on Rails • Ramaze • Sinatra • Padrino • QtRuby
Серверное ПО Mongrel • Phusion Passenger (mod_rails/mod_rack) • WEBrick • mod_ruby
Прочее Application Archives • Document format • Book Guides • Ruby Central • RubyKaigi