Как стать автором
Обновить

Комментарии 19

Не думал, что компилятор влияет на производительность. Спасибо за статью.
Интересно. Как-то думал, что все эти реализации, что доступны в rvm работают быстрее, но проблемы с совместимостью с «эталоном». А оказывается вовсе нет. В чём тогда профит от их использования?
Тут однозначного ответа для всех реализаций нет, ибо все затевались ради разных целей.
Rubinius определённо замышлялся как ruby, сделанный правильно и быстро. Но сложность и гибкость языка сильно затруднили реализацию, которая и до сих пор не догнала основную, зато было сделано не мало общественно полезных вещей, как то набора тестов для реализации языка, коего не было в MRI.
JRuby определённо замышлялся, как ruby, который будет работать быстро засчёт чудо-виртуальной машины Java, но 25 кратного убыстрения добиться, как видно, не удалось. Реализация, аналогично IronRuby, расчитана и подходит тем, у кого есть вложения в инфраструктуру и не хочется менять сразу всё, то есть на ентерпрайз сектор. У JRuby есть возможность работы с Java библиотеками напрямую, коих по-прежнему всё ещё больше, чем gem'ов.
MacRuby — альтернатива ObjectiveC для более удобного написания приложений под OS X, с моей точки на большее не претендует.
MagLev — попытка продвинуться на новый рынок товарищей, имеющих интересное энтерпрайз решение для List. С моей точки зрения, интересное, но имеющее в данный момент прикладные альтернативы.
REE — хорошая вещь с заметными оптимизациями, жаль, что не вошла в обзор.
REE был хорош в своё время, но 1.8 версия уже теряет актуальность.
Многие фичи REE либо уже в 1.9, либо будут, либо не нужны.

We have no plans to create a Ruby 1.9-based version of Ruby Enterprise Edition for the following reasons:

    A copy-on-write patch has recently been checked into Ruby 2.0.
    Many of the patches in Ruby Enterprise Edition are simply not necessary in 1.9.
    We wish to focus our efforts on Phusion Passenger and other products. Instead of doing many things poorly, we want to do a few things, but do them very very well.


blog.phusion.nl/category/ruby-enterprise-edition/
Smalltalk*, не List и даже не Lisp, конечно же.
Если пользуетесь рельсами, то рекомендую вот эту версию патченого 1.9.3: gist.github.com/1688857

Рельсы грузятся просто нереально быстро.
time -p bundle exec rake environment
real 5.02
user 4.70
sys 0.28

time -p bundle exec rake environment
real 2.15
user 1.95
sys 0.18

Спасибо )))
Не рельсами едиными. Bundler зачастую добавляет основную часть ступора.
Bundler — всего лишь удобное средство добавить пути в $LOAD_PATHS. Rubygems, собственно, делает то же самое. Так что бандлер не при делах вообще, разве что при старте, и то не очень сильно.
Если вы не заметили, то двумя комментариями выше именно про время, требуемое на запуск говорилось. А если знаете, что такое Dependency Hell, то странно, что вы недооцениваете Bundler в борьбе с этой проблемой, в которой RubyGems никак не помошник.
bundle exec rspec -h 0,92s user 0,04s system 98% cpu 0,970 total
rspec -h 0,19s user 0,01s system 92% cpu 0,212 total

Что такое 7 десятых секунды в сравнении с десятками секунд на проекте с большим количеством джемов?
Как получились отрицательные результаты в табличке Общий зачет, внизу столбца jruby? Или это опечатка?
Думаю, что опечатка. В оригинальном посте как минимум есть ещё один огрех, в «переводе» я этот момент просто замял.
Это не опечатка, в секциях vm1/vm2 не совсем верно рассчитываются результаты. Добавил это в статью (в оригинал).
господа, угостите кармой, через 2 дня напишу клевую статью про любопытную уязвимость в большинстве рельс приложений. ) честно слово)
про attr-accessible? спасибо, без вас знаем. уязвимость школьного уровня. на будущее, здесь не любят выпрашивающих карму. для этого есть сброс.
школьного? читайте репу рельс. в гитхабе как раз такая «школота» работает
Это вы про  attr_accessible и вашу Issue на GitHub?
Если быть честным, то это на совести каждого конкретного web-разработчика. Rails тут совершенно ни при чём.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории