The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Сравнение производительности девяти реализаций языка Ruby

09.12.2008 21:20

Опубликованы результаты сравнения производительности существующих реализаций языка Ruby - Ruby 1.8, Ruby 1.9.1 (Yarv), Ruby Enterprise Edition (REE), JRuby 1.1.6RC1, Rubinius, MagLev, MacRuby 0.3 и IronRuby. Расхождение в быстродействии получились значительные, например, в некоторых тестах экспериментальный релиз Ruby 1.9.1, использующий для интерпретации байткода новую виртуальную машину YARV (Yet another Ruby VM), оказался почти в 5 раз быстрее Ruby 1.8. Очень хорошие результаты, лишь немного отстав от Ruby 1.9.1, продемонстрировал JRuby 1.1.6, реализация Ruby на языке Java.

Суммарное время прохождение теста разными реализациями Ruby составляет:

  • Ruby 1.9.1 - 190;
  • JRuby 1.1.6 - 220;
  • REE - 410;
  • Rubinius - 600;
  • Ruby 1.8.7 (linux) - 790;
  • Ruby 1.8.6 (vista) - 880.

MagLev, MacRuby и IronRuby не удалось выполнить все тестовые задания, при этом MagLev оказался примерно в два раза быстрее Ruby 1.8, в то время как MacRuby и IronRuby показали близкую к Ruby 1.8.6 производительность.

  1. Главная ссылка к новости (http://antoniocangiano.com/200...)
  2. OpenNews: Первый релиз в новой экспериментальной ветке Ruby 1.9
  3. OpenNews: Вышел релиз JRuby 1.1.5
  4. OpenNews: JavaScript реализации Ruby, выполненная в V8 VM, оказалась быстрее интерпретатора Ruby
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/19304-ruby
Ключевые слова: ruby, web, benchmark
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (8) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Guest (??), 21:36, 09/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Т.е. даже ruby быстрее java? Поразительно, и эти люди говорят что VM работает быстрее нативного кода...
     
     
  • 2.3, kostbebix (?), 21:54, 09/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Руби, написаный на джаве медленнее чем руби, писаный на сях (или на чём он там). Что не ясно?
     
     
  • 3.5, Guest (??), 22:18, 09/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Почитай для начала, какие именно VM сравниваются.
     
     
  • 4.6, Andrew Kolchoogin (?), 23:58, 09/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Он и прочитал.

    Виртуальная машина Ruby, написанная на Java, _значительно_ быстрее текущей реализации виртуальной машины Ruby, написанной на C (это Ruby v1.8), и лишь _немного_ уступает экспериментальной реализации виртуальной машины Ruby, написанной на C (это YARV -- Ruby v1.9).

     
     
  • 5.13, Michael Shigorin (ok), 13:19, 10/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Где Вы нашли в 1.8 VM?

    JRuby -- AFAIR генерит байт-код для JVM, но точно не помню.

     

  • 1.12, Frank (??), 09:42, 10/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как будет летать javaVM, если её написать на java? :)
     
     
  • 2.14, Volodymyr Lisivka (?), 14:31, 10/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > А как будет летать javaVM, если её написать на java? :)

    А кто будет испольнять ету виртуальную машину? Если это процесор, который умеет исполнять байткод, то и виртуальная машина ему особо не нужна, хотя написать её можно и она будет работать с очень маленьким оверхедом (при грамотной реализации). Пример - qemu для i386 запущеный на i386 с модулем kqemu.

     
  • 2.15, Gambler (??), 21:44, 10/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, там же есть какая-то "hot spot" компиляция, так что, может быть, это и не совсем невозможно.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру