- PVSM.RU - https://www.pvsm.ru -
Совсем недавно во многих ruby-блогах, сообществах, да и на хабре [1], было написано немало постов о том что RVM дурно влияет на производительность RMI-версии ruby (официальный интерпритатор языка) по причине того что установщик не учитывает оптимизации компилятора GCC. Конечно для этого недуга были «лекарства», но применять их приходилось ручками, причем довольно-таки прямыми. Так вот, спешу всех обрадовать что в последних версиях RVM (начиная с версии 1.17.0) ситуация изменилась, и конечно же в лучшую сторону, теперь Вы снова можете полностью положится на менеджера версий ruby. Все что Вам нужно сделать — это обновиться до последней версии.
Для тех кто не умеет или забыл как это делается, подскажу.
Запускаем терминал, и пишем:
$ rvm get stable
RVM тянет последнюю стабильную версию себя, перезапускается, и выводит стандартное сообщение с результатом обновления и благодарностями за использование от небезызвестного Уэйна Сегуина (Wayne E. Seguin), автора данного пакета.
После того как RVM обновлен, Вам необходимо перекомпилировать установленные RMI версии ruby, а еще лучше — установить последнюю. На момент написания данного поста, последние стабильные версии это: RVM — 1.17.2 и Ruby — 1.9.3-p327. Перекомпилировать ruby с помощью RVM очень просто:
$ rvm reinstall 1.9.3
Помимо процессорных оптимизаций, RVM теперь знает про патч funny-falcon'а [2] и ставит его со всеми последними версиями для которых он существует. Прирост производительности очевиден, на моем Intel® Core(TM) i5-2320 CPU @ 3.00GHz с четырьмя гигами ОЗУ под Ubuntu 12.04, типичный бенчмарк дает следующие результаты:
До (RVM — 1.16.17, Ruby — 1.9.3-p286)
$ time ruby -e "count = 0; while(count < 100000000); count = count + 1; end; puts count"
100000000
real 0m5.303s
user 0m5.244s
sys 0m0.016s
После (RVM — 1.17.2, Ruby — 1.9.3-p327)
$ time ruby -e "count = 0; while(count < 100000000); count = count + 1; end; puts count"
100000000
real 0m1.940s
user 0m1.932s
sys 0m0.004s
Ну вот собственно и все. Спасибо за внимание, как говорится — Happy Hacking!
Автор: mercurial
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ruby/22567
Ссылки в тексте:
[1] на хабре: http://habrahabr.ru/post/160371/
[2] патч funny-falcon'а: https://gist.github.com/4136373
[3] Источник: http://habrahabr.ru/post/162533/
Нажмите здесь для печати.