YARV (YARV)
YARV | |
---|---|
Тип | Ruby виртуальная машина |
Разработчик | Коити Сасада[вд] |
Написана на | Си |
Лицензия | GNU GPL и Лицензия Ruby[вд] |
Сайт | 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, заменив старый, разработанный Мацумото.
См. также
[править | править код]Ссылки
[править | править код]- YARV home page
- YARV список рассылки
- статья о целях для Ruby 2.0 VM
- статья о интеграции YARV в Ruby 2.0
- презентация Koichi Sasada на конференции RubyConf’2006
- «разборки» Ruby: YARV в сравнении с другими Ruby VMs
- YARV в The Computer Language Benchmarks Game (недоступная ссылка)
Примечания
[править | править код]- ↑ Benchmarks: Ruby 1.8 and Ruby 1.9 Архивировано 5 января 2007 года. (rubychan.de)
- ↑ Cangiano, Antonio The Great Ruby Shootout (12 марта 2007). Дата обращения: 1 февраля 2008. Архивировано 23 февраля 2012 года.
- ↑ 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 года.
- ↑ The Ruby VM: Episode I Архивировано 26 мая 2012 года. — Shades of Gray
- ↑ merge YARV Архивная копия от 4 сентября 2012 на Wayback Machine announcement by Koichi Sasada