Комментарии 30
производительность RMI-версии
наверное MRI-версии?
0
Спасибо за алерт, сейчас же переустановлю все на дев-машине.
0
После патча время тестов сократилось где то на 15% (9 минут против 10.5)
0
После установки может слететь настройка какую версию руби использовать по умолчанию, если у вас стоит ещё какаято версия руби, она будет использоваться по умолчанию.
Посмотреть список установленных руби:
Посмотреть какая версия по умолчанию:
Выбрать которую установили только что:
Так, на всякий случай оставлю тут.
Посмотреть список установленных руби:
rvm list rubies
Посмотреть какая версия по умолчанию:
rvm list default
Выбрать которую установили только что:
rvm --default use 1.9.3-p327
Так, на всякий случай оставлю тут.
+2
Что-то у меня с rvm 1.17.3 и Ruby 1.9.3-p327 этот тест работает все 8 секунд, с performance патчем, как описывалось на хабре недавно — чуть больше 2-х секунд. Вы уверены, что прогоняете тест без патча?
0
Может кто подскажет почему каждый раз в новой консоли приходится делать rvm --default use? Иначе ruby не подхватывается. Эта проблема еще актуальна в shell скриптах — rvm --default use там просто не работает, из-за этого не получается запустить никакой ruby код из shell скрипта, валится ошибка — «require: command not found».
0
rvm use --default
нет, без разницы, виноват
0
У Вас
выдает
Если нет то попробуйте добавить две следующующие строчки в конец вашего
$ type rvm | head -1
выдает
rvm is a function
?Если нет то попробуйте добавить две следующующие строчки в конец вашего
.bashrc
:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session
+3
Такая запись есть, но в shell скриптах rvm мертвый:
Logging shell, естественно, стоит в iTerm. Может дело в zsh?
rvm is /Users/mbektimirov/.rvm/bin/rvm
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.
Logging shell, естественно, стоит в iTerm. Может дело в zsh?
0
RVM 1.15.8
RVM 1.17.3
Разница вообще ни о чем. ЧЯДНТ?
PS. На всякий случай: OS X 10.8.2; 2.66 Intel Core i7; 8GB 1067 MHz DDR3;
[~] ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.2.0]
[~] time ruby -e "count = 0; while(count < 100000000); count = count + 1; end; puts count"
100000000
real 0m2.211s
user 0m2.171s
sys 0m0.035s
RVM 1.17.3
[~] ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin12.2.0]
[~] time ruby -e "count = 0; while(count < 100000000); count = count + 1; end; puts count"
100000000
real 0m2.191s
user 0m2.157s
sys 0m0.031s
Разница вообще ни о чем. ЧЯДНТ?
PS. На всякий случай: OS X 10.8.2; 2.66 Intel Core i7; 8GB 1067 MHz DDR3;
+2
Такое тоже возможно, с радостью проверил бы разницу будь у меня такой Мак :)
Если Вас это не сильно затруднит, попробуйте проверить флаги оптимизации скомпилированных с помощью RVM рубей.
Это можно сделать вот таким способом:
Вам по идее даже не нужно возвращать старую RVM, у Вас должна была остаться старая версия ruby 1.9.3-p194, если конечно Вы не перекомпилировали её заодно. Просто переключитесь на предыдущую версию. Если возникнут какие нибудь вопросы — милости просим в ЛС, буду рад помочь :)
Если Вас это не сильно затруднит, попробуйте проверить флаги оптимизации скомпилированных с помощью RVM рубей.
Это можно сделать вот таким способом:
ruby -r rbconfig -e 'puts RbConfig::CONFIG["CFLAGS"]'
Вам по идее даже не нужно возвращать старую RVM, у Вас должна была остаться старая версия ruby 1.9.3-p194, если конечно Вы не перекомпилировали её заодно. Просто переключитесь на предыдущую версию. Если возникнут какие нибудь вопросы — милости просим в ЛС, буду рад помочь :)
0
Хмм…
для ruby 1.9.3p327:
для предыдущей версии (p194, ставил летом на старом rvm, никаких дополнительных флагов руками вроде бы не выставлял, только rvm install 1.9.3, насколько я помню):
для ruby 1.9.3p327:
-O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -fno-common -pipe
для предыдущей версии (p194, ставил летом на старом rvm, никаких дополнительных флагов руками вроде бы не выставлял, только rvm install 1.9.3, насколько я помню):
-O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -fno-common -pipe
0
Ну вот собственно и они, в обоих случаях :)
В моём случае это:
В моём случае это:
mercurial@tuxpc:~$ rvm use 1.9.3-p286
Using /home/mercurial/.rvm/gems/ruby-1.9.3-p286
mercurial@tuxpc:~$ ruby -r rbconfig -e 'puts RbConfig::CONFIG["CFLAGS"]'
-I/home/mercurial/.rvm/rubies/ruby-1.9.3-p286/include -fPIC
mercurial@tuxpc:~$ rvm use default
Using /home/mercurial/.rvm/gems/ruby-1.9.3-p327
mercurial@tuxpc:~$ ruby -r rbconfig -e 'puts RbConfig::CONFIG["CFLAGS"]'
-O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=implicit-function-declaration -fPIC
0
А у меня обратная фигня, вывод после обновления rvm и выполнения rvm reinstall 1.9.3:
Т.е. он решил не перекомпилить, а скачал бинарник…
Результаты до/после обновления тоже идентичны.
Mac OS X 10.8.2
$ ruby -r rbconfig -e 'puts RbConfig::CONFIG["CFLAGS"]'
-I/Users/mpapis/.sm/pkg/active/include -pipe
Т.е. он решил не перекомпилить, а скачал бинарник…
Результаты до/после обновления тоже идентичны.
Mac OS X 10.8.2
0
По всей видимости идентично плохи :)
Попробуйте удостовериться что Вы перекомпилировали и переключились на свежую версию.
И если можно конфигурацию железа и название ОСи.
Попробуйте удостовериться что Вы перекомпилировали и переключились на свежую версию.
И если можно конфигурацию железа и название ОСи.
+1
Macbook Air 2011 (Core i5 1.6 / 4 GB)
Mac OS X 10.8.2
Похоже, что без опции --with-gcc=clang и предварительного шаманства он просто скачает уже готовый бинарник без оптимизаций.
Подробнее здесь:
www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/
Mac OS X 10.8.2
Похоже, что без опции --with-gcc=clang и предварительного шаманства он просто скачает уже готовый бинарник без оптимизаций.
Подробнее здесь:
www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/
0
И после
Можно удостовериться используя
rvm use 1.9.3-p327 --default
?Можно удостовериться используя
ruby --version
0
Ну, это говорит о том что у Вас в обоих случаях используются флаги оптимизаций
(как минимум
(как минимум
CFLAGS="-march=corei7 -O3 -pipe"
), возможно руби был перекомпилен каким то образом по походу дела или же под маком эта фича уже давно актуальна. Было бы здорово если бы ещё кто нибудь на маке проверил.0
Не только под маком, под GNU/Linux у меня было то же самое, ещё в апреле версия 1.9.3 скомпилировалась RVM с флагом -O3, без к-л доп.настроек. Не знаю от чего это зависело раньше, но масштабность проблемы явно преувеличили на пару порядков… Очень похоже, что компиляция без флагов оптимизации была довольно редким явлением.
Что касается патча от funny falcon, он ускоряет в случаях увесистых задач, на приведённый синтетический тест он вообще никак не влияет.
Что касается патча от funny falcon, он ускоряет в случаях увесистых задач, на приведённый синтетический тест он вообще никак не влияет.
0
А у меня rvm 1.17.3 установил ruby 1.9.3 такой:
и он работает больше 8 секунд.
А вот с performance патчем:
этот работает за 2 секунды, как и положено. Тоже мак х64.
ruby 1.9.3p327 (2012-11-10) [x86_64-darwin12.2.0]
и он работает больше 8 секунд.
А вот с performance патчем:
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin12.2.0]
этот работает за 2 секунды, как и положено. Тоже мак х64.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Публикации
Изменить настройки темы
Срочно обновляем RVM (Ruby Version Manager)