Представлен (https://www.ruby-lang.org/en/news/2015/03/03/ruby-2-2-1-rele.../) релиз языка программирования Ruby 2.2.1 (https://www.ruby-lang.org), в котором представлена порция исправлений ошибок и оптимизаций, при сохранении полной совместимости с выпуском 2.2.0 (http://www.opennet.me/opennews/art.shtml?num=41341). Из наиболее важных исправлений отмечается решение проблем со сборкой и устранение утечки памяти в сборщике мусора для объектов типа Symbol. Одновременно проект празднует 22 года с момента своего основания.Напомним, что номер версии Ruby теперь определяться в формате MAJOR.MINOR.TEENY.PATCH, где значение MAJOR увеличивается при значительных нарушениях обратной совместимости. Новые MINOR-выпуски формируются раз в год, при этом в данных выпусках допускается нарушение обратной совместимости API. В TEENY-выпусках, которые выходят раз в 2-3 месяца, устраняются ошибки и уязвимости при полном сохранении совместимости API. Значение PATCH отражает число коммитов с момента прошлого минорного выпуска.
URL: https://www.ruby-lang.org/en/news/2015/03/03/ruby-2-2-1-rele.../
Новость: http://www.opennet.me/opennews/art.shtml?num=41770
В ruby-build уже есть!
в ruby-install даже изменения вливать ненужно и так можно поставить.
Карма у Symbol'а не очень
Совсем недавно одну утечку, связанную с ним вылечили, теперь вот это ... хорошо, что лечат.
Вряд ли Symbol создавал серьёзные проблемы. Если программист вменяемый, но не будет генерить что-то типа 10000000000000.times { |i| i.to_s.to_sym }В остальных случаях, количество объектов символов в процессе будет ограничено.
> Вряд ли Symbol создавал серьёзные проблемы. Если программист вменяемый, но не будет
> генерить что-то типа 10000000000000.times { |i| i.to_s.to_sym }Не все так просто, ведь Symbol активно участвует во свей внутренней кухне.
Вы не забыли как вызываются методы и т.д.
Есть и другие артефакты, типа - http://habrahabr.ru/post/240989/
> Есть и другие артефакты, типа - http://habrahabr.ru/post/240989/Статья не про символы, а про строки.
Особенность Symbols в том, что объекты не дублируются при одинаковых именах. Количество имён классов, методов и переменных в системе конечно и само по себе не увеличивается.
PS: это я не к тому, что устранять утечки с Symbols не надо, а к тому, что не смертельно, даже если и течёт.
Что собственно вас смущает? вы хотите чтоб меньше памяти руби жрал и отдавал ее системе назад, так удосужитесь настройки его покрутить. Автор данной статьи идиот который непонятно чему удивляется.
> 2.2.1Ух ты! Они открыли для себя, что взятые с потолка три циферки можно менять не все сразу и не раз в три года?