Опубликовал naruse 25-12-2014
Перевел: arbox
Мы рады объявить о выходе версии 2.2.0.
Релиз Ruby 2.2 включает в себя множество новых возможностей и улучшений, отвечающих все возрастающему количеству разноплановых требований к языку Ruby.
Так, например, сборщик мусора (GC) Ruby теперь может собирать неиспользуемые
объекты класса Symbol, что снизит расходы оперативной памяти. Так как
фреймворк Rails 5.0 будет зависеть от сборщика для символов, он будет
поддерживать только Ruby версии 2.2 и новее. Подробности читайте в
посте о выходе Rails 4.2.
Кроме этого, уменьшенные интервалы при работе сборщика мусора (благодаря новому инкрементальному алгоритму) положительно скажутся на работе существующих приложений на Rails. Последние изменения, упоминавшиеся в блоге Rails, показывают, что Rails 5.0 выиграет от применения как инкрементального алгоритма сборщика, так и сборщика символов.
Еще одним улучшением в плане управления памятью является дополнительный ключ
при сборке в configure.in для использования jemalloc, см.
Feature #9113.
Это улучшение носит статус экспериментального и по умолчанию отключено, пока мы
не соберем достаточно данных о производительности и возможностях применения.
Когда мы убедимся в его преимуществах, это улучшение будет включено по умолчанию.
Мы также добавили экспериментальную поддержку vfork(2) для system() и spawn().
О подробностях реализации читайте на японском языке в блоге
tanaka-san.
В теории это может привести к огромному ускорению работы, если процесс вызывает
внешнюю команду много раз подряд. К сожалению, работа vfork(2) на данный
момент не проанализирована до конца и может иметь потенциальные негативные
последствия при системных вызовах. Мы поэкспериментируем с этим вопросом и
соберем данные о производительности на реальных задачах, чтобы решить, насколько
полезным окажется это нововведение.
Попробуйте новую версию и получайте удовольствие от программирования на Ruby 2.2.0. И сообщайте о ваших успехах!
Важные изменения в сравнении с версией 2.1
- Инкрементальный алгоритм сборщика (YARV Maniacs No.12)
- Сборщик для символов (презентация на RubyKaigi 2014: “Incremental GC for Ruby interpreter”)
- configure –with-jemalloc Feature #9113
- Ядро:
- Стандартная библиотека:
- обновлена Psych 2.0.8
- обновлена Rake 10.4.2
- обновлена RDoc 4.2.0
- обновлена RubyGems 2.4.5
- обновлена test-unit 3.0.8 (удалена из репозитория, но оставлена в архиве на скачивание)
- обновлена minitest 5.4.3 (удалена из репозитория, но оставлена в архиве на скачивание)
- подлежит удалению mathn
- C API
- удалены устаревшие API
Дополнительные подробности читайте в файле NEWS в репозитории Ruby.
Включая эти файлы, было изменено 1557 файлов, 125039 вставок(+), 74376 удалений(-) по сравнению с v2.1.0!
Скачать
- https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.bz2
- SIZE: 13304042 bytes
- MD5: d03cd4690fec1fff81d096d1c1255fde
- SHA256: 1c031137999f832f86be366a71155113675b72420830ce432b777a0ff4942955
- SHA512: 04edc53e8cd1732c3ca61ebeb1d6133614beb10f77f9abb80d8d36352fe8aa205112068e460bf600b2c7e81e0ddcc3b311e7e027c320366f1bd992b3e378a6ad
- https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz
- SIZE: 16494584 bytes
- MD5: cd03b28fd0b555970f5c4fd481700852
- SHA256: 7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc
- SHA512: 1ba0c68e1c8d2b60bbd1e218cf36463edbe34cf9418d7593702b631e68d02297465f752e71395f6cfa4104f4cd70a1eb44381ffb74bc7801758b830931fdcfc6
- https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.xz
- SIZE: 10304244 bytes
- MD5: 54b43c6c6c9dd4c4b08ceb03ad0ded7a
- SHA256: 848714e280fc5fb44dbac3b060b206e56c1947006324ee68a174d68b483ef8ca
- SHA512: cd7e52faa464df8aca7ccfa23a5f06248e1ad82bc8c9f1829aa1b51ff37b15973b8caaa68e914d837325b8d59427fda4f3cad82c50925e1c84e688324a2a155d
- https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.zip
- SIZE: 18441027 bytes
- MD5: f8e1d0cee4f2d9535a9529ed23ae3700
- SHA256: e06c1e2b1248cf881749833084b2bec93f7612676009190ff9bc89b8fd07c29f
- SHA512: 364dd927b496520d95a1b06c68e1a265015f4cab08bdf3efaa323d385e7bf075eae47f2e1db78a629db0f3c0c1ed24e086603ba21e2da02ac06dd3c8b716766e