Ruby 2.2.0 veröffentlicht

Wir freuen uns, die Veröffentlichung von Ruby 2.2.0 bekannt geben zu können.

Ruby 2.2 enthält viele neue Features und Verbesserungen, um den wachsenden und zunehmend unterschiedlichen Anforderungen an Ruby gerecht werden zu können.

Zum Beispiel kann Rubys Garbage Collector nun auch Objekte der Klasse Symbol entfernen, wodurch der Speicherbedarf im Vergleich zu Versionen vor 2.2 reduziert wird. Rails 5.0 wird die Speicherbereinigung von Symbol-Objekten voraussetzen, weshalb es nur Ruby 2.2 oder später unterstützen wird. (Siehe den Artikel zur Veröffentlichung von Rails 4.2 für Details.)

Darüber hinaus werden durch die neu eingeführte inkrementelle Speicherbereinigung (Incremental GC) die Unterbrechungszeiten verringert, was sich ebenfalls vorteilhaft auf Rails-Anwendungen auswirken wird. Neuere Entwicklungen, die im Rails-Blog erwähnt worden sind, deuten an, dass Rails 5.0 neben der Speicherbereinigung von Symbolen auch die inkrementelle Speicherbereinigung nutzen wird.

Ein weiteres Feature mit Bezug zur Speicherverwaltung ist eine zusätzliche Option für configure.in um jemalloc zu aktivieren Feature #9113. Dieses Feature ist noch experimentell und derzeit standardmäßig nicht aktiviert, solange wir noch nicht genügend Daten zu Performance und möglichen Anwendungsfällen haben. Sobald wir vom Nutzen dieses Features überzeugt sind, werden wir es standardmäßig aktivieren.

Des Weiteren wurde experimentelle Unterstützung der Nutzung von vfork(2) mit system() und spawn() hinzugefügt. Näheres kann in tanaka-san’s Blog (Japanisch) nachgelesen werden. Dies könnte möglicherweise große Geschwindigkeitssteigerungen bewirken, wenn ein großer Prozess vielfach externe Befehle ausführt. Jedoch ist vfork(2) noch nicht gut verstanden und ein potenziell gefährlicher Systemaufruf. Wir möchten gerne ausloten, welchen Nutzen dieses Feature bringen kann, indem wir Performance-Daten und Anwendungsfälle sammeln.

Wir wünschen viel Freude beim Programmieren mit Ruby 2.2.0; probiert es aus und berichtet uns von Euren Erfahrungen!

Wesentliche Änderungen seit Ruby 2.1

Siehe die NEWS im Ruby-Repository für Details.

Damit folgen seit Version 2.1.0: 1557 geänderte Dateien, 125039 Einfügungen(+), 74376 Löschungen(-)!

Download

  • 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