- Neuer Prism-Parser hinzugefügt: ein rekursiver Abstiegparser, der produktionsreif ist. Er ersetzt Ripper
- Parsergenerator von Bison auf Lrama umgestellt: fehlertolerant, benutzerfreundlich, leichter zu warten und ein universeller Parser, der auch in anderen Tools verwendet werden kann
- YJIT-Leistungsverbesserungen: höhere Geschwindigkeit und geringerer Speicherverbrauch
- Einführung von RJIT, einem reinen Ruby-JIT-Compiler, als Ersatz für MJIT: unterstützt nur x86-64, benötigt aber im Gegensatz zu MJIT keinen C-Compiler zur Laufzeit. Derzeit noch experimentell; für den produktiven Einsatz sollte YJIT verwendet werden
- M:N-Thread-Scheduler hinzugefügt: Verwaltet M Ruby-Threads über N native Threads (OS-Threads), wodurch die Kosten für Erstellung und Verwaltung von Threads sinken
2 Kommentare
RUBY_GC_HEAP_INIT_SLOTSwird also ebenfalls durchRUBY_GC_HEAP_INIT_SIZE_%d_SLOTSersetzt. Stellen, an denen das GC-Tuning vorgenommen wurde, müssen wohl angepasst werden.https://bugs.ruby-lang.org/issues/19785
Gemäß der Tradition der jährlichen Veröffentlichung am 25.12. ist auch dieses Jahr Version 3.3 erschienen.