Geschrieben von naruse am 25.12.2014
Übersetzt von Marcus Stollsteimer
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
- Incremental GC (Präsentation bei der RubyConf 2014: “Incremental GC for Ruby interpreter”)
- Symbol GC (Präsentation bei der RubyKaigi 2014)
- configure –with-jemalloc Feature #9113
- Kernbibliotheken:
- Mitgelieferte Bibliotheken:
- Aktualisiert: Psych 2.0.8
- Aktualisiert: Rake 10.4.2
- Aktualisiert: RDoc 4.2.0
- Aktualisiert: RubyGems 2.4.5
- Aktualisiert: test-unit 3.0.8 (aus dem Repository entfernt, aber im Tarball enthalten)
- Aktualisiert: minitest 5.4.3 (aus dem Repository entfernt, aber im Tarball enthalten)
- Als veraltet markiert: mathn
- C-API
- Veraltete APIs entfernt
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