Вышел Ruby 2.2.0

Мы рады объявить о выходе версии 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

Дополнительные подробности читайте в файле 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