Ruby 2.6.0-preview1 veröffentlicht
Veröffentlicht von naruse am 24. Feb 2018
Wir freuen uns, die Veröffentlichung von Ruby 2.6.0-preview1 bekannt zu geben.
Ruby 2.6.0-preview1 ist die erste Vorschau auf Ruby 2.6.0. Dieses Preview1 wird früher als üblich veröffentlicht, da es eine wichtige neue Funktion enthält: JIT.
JIT
Ruby 2.6 führt eine erste Implementierung eines JIT-Compilers (Just-in-time) ein.
Der JIT-Compiler zielt darauf ab, die Leistung jeder Ruby-Programmausführung zu verbessern. Im Gegensatz zu gewöhnlichen JIT-Compilern für andere Sprachen führt der JIT-Compiler von Ruby die JIT-Kompilierung auf einzigartige Weise durch, indem er C-Code auf eine Festplatte schreibt und einen gängigen C-Compiler-Prozess startet, um nativen Code zu generieren. Siehe auch: MJIT-Organisation von Vladimir Makarov.
Verwendung: Geben Sie einfach --jit in der Befehlszeile oder die Umgebungsvariable $RUBYOPT an. Die Angabe von --jit-verbose=1 ermöglicht die Ausgabe grundlegender Informationen über die laufende JIT-Kompilierung. Weitere Optionen finden Sie in ruby --help.
Der Hauptzweck dieser JIT-Veröffentlichung ist es, eine Gelegenheit zu bieten, zu überprüfen, ob es auf Ihrer Plattform funktioniert und Sicherheitsschwachstellen vor der 2.6-Version zu finden. Derzeit wird der JIT-Compiler nur unterstützt, wenn Ruby mit gcc oder clang kompiliert wurde und der Compiler zur Laufzeit verfügbar ist. Andernfalls können Sie ihn derzeit nicht verwenden.
Ab 2.6.0-preview1 bereiten wir gerade die Infrastruktur für JIT vor und nur sehr wenige Optimierungen sind implementiert. Mit dieser Veröffentlichung können Sie einige potenzielle Verbesserungen in Mikro-Benchmarks messen, aber sie ist NICHT für Benchmarking der endgültigen Leistung des JIT-Compilers von Ruby bereit, insbesondere für große Programme wie Rails-Anwendungen.
Wir werden das Inlining von Methoden im JIT-Compiler implementieren, was die Leistung von Ruby voraussichtlich erheblich steigern wird.
Außerdem planen wir, die unterstützten Plattformen zu erweitern, und der nächste Plan ist die Unterstützung von Visual Studio.
Bleiben Sie dran für das neue Zeitalter der Ruby-Performance.
Neue Funktionen
- Fügt
Random.byteshinzu. [Feature #4938] -
Fügt
Binding#source_locationhinzu. [Feature #14230]Diese Methode gibt den Quellcode-Standort der Bindung zurück, ein 2-Element-Array von
__FILE__und__LINE__. Traditionell konnten dieselben Informationen durcheval("[__FILE__, __LINE__]", binding)abgerufen werden, aber wir planen, dieses Verhalten zu ändern, sodassKernel#evalden Quellcode-Standort vonbindingignoriert [Bug #4352]. Daher sollten Benutzer diese neu eingeführte Methode anstelle vonKernel#evalverwenden. - Fügt die Option
:exceptionhinzu, damitKernel.#systemeinen Fehler auslöst, anstattfalsezurückzugeben. [Feature #14386]
Leistungsverbesserungen
-
Beschleunigt
Proc#call, da wir uns nicht mehr um$SAFEkümmern müssen. [Feature #14318]Mit dem Benchmark
lc_fizzbuzz, derProc#callso oft verwendet, können wir Verbesserungen von x1,4 messen [Bug #10212]. -
Beschleunigt
block.call, wobeiblockein Blockparameter übergeben wird. [Feature #14330]Ruby 2.5 verbessert die Leistung der Blockübergabe. [Feature #14045] Zusätzlich verbessert Ruby 2.6 die Leistung des Aufrufs übergebener Blöcke. Mit Mikro-Benchmarks können wir eine 2,6-fache Verbesserung feststellen.
Weitere bemerkenswerte Änderungen seit 2.5
-
$SAFEist ein prozessglobaler Zustand und wir können ihn wieder auf0setzen. [Feature #14250] -
Das Übergeben von
safe_levelanERB.newist veraltet. Die Argumentetrim_modeundeoutvarwurden zu Schlüsselwortargumenten geändert. [Feature #14256] -
RubyGems 2.7.6 zusammengeführt
Siehe NEWS oder die Commit-Protokolle für Details.
Mit diesen Änderungen wurden seit Ruby 2.5.0 1115 Dateien geändert, 23023 Einfügungen (+), 14748 Löschungen (-)!
Heute, am 24. Februar, hat Ruby seinen 25. Geburtstag. Alles Gute zum Geburtstag Ruby, und viel Spaß beim Programmieren mit Ruby 2.6.0-preview1!
Herunterladen
-
https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0-preview1.tar.gz
SIZE: 16082501 bytes SHA1: 94b4a2f5f992dc9855364284e9c64316bf129c90 SHA256: 2023c42676d9237481e1a97157d5e2ecc10db5e320d5b9cf872ec1d293265d61 SHA512: 004696c4f087333ba7cb2285418dcce70f399966ae8fed817aab9759fd2d75beb088c4aeb294fcd4260112e8422f490cd4dbdfce402d73f96bb679b8bb3e1607 -
https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0-preview1.zip
SIZE: 19807007 bytes SHA1: 24d76f67bf913348eca783a2ecf6f3faf37299ae SHA256: 6c883927e80430cf07f2d90728d6c2c71164223f378a48ebf964d3b66319f623 SHA512: 1e7f318cec1b7875fd9891df671078de7585b556695a2a85708483ddcacfd6e0b63b70ec2535e92ff981b4f72063721ed552df49688e066666fcd7ae520ae667 -
https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0-preview1.tar.bz2
SIZE: 14104578 bytes SHA1: 9f0fb79643a4673a839b0c8496eccc6e1dbd022d SHA256: 8bd6c373df6ee009441270a8b4f86413d101b8f88e8051c55ef62abffadce462 SHA512: d9cb270529a97670d54f43a0236fab072714e715c39277dab70b7a1843ec818e6700e47e1384c7256f9e0ae41ab2c0b768a0de38a5ecf4f4fff5da6ef5ad4944 -
https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0-preview1.tar.xz
SIZE: 11423984 bytes SHA1: bbbc89d760cdaadbca3cbff587295864edeff0af SHA256: 1d99139116e4e245ce543edb137b2a8873c26e9f0bde88d8cee6789617cc8d0e SHA512: d12ff29778d8d940344619881b4d8247c2fb6b44ac2b2dbddb7078828e893cfac9a5a95b5588f0afdbed52bdb6dea95cff1b9ce3ad47dfa62209e97dab8810b6
Aktuelle Nachrichten
Ruby 4.0.0 veröffentlicht
Wir freuen uns, die Veröffentlichung von Ruby 4.0.0 bekannt zu geben. Ruby 4.0 führt „Ruby Box“ und „ZJIT“ ein und bringt viele Verbesserungen mit sich.
Veröffentlicht von naruse am 25. Dez 2025
Ein neuer Look für Rubys Dokumentation
Nach dem Redesign von ruby-lang.org gibt es weitere Neuigkeiten zur Feier des 30-jährigen Jubiläums von Ruby: docs.ruby-lang.org hat ein komplett neues Erscheinungsbild mit Aliki – dem neuen Standard-Theme von RDoc.
Veröffentlicht von Stan Lo am 23. Dez 2025
Neues Website-Erscheinungsbild
Wir freuen uns, ein umfassendes Redesign unserer Website bekannt zu geben. Das Design für dieses Update wurde von Taeko Akatsuka erstellt.
Veröffentlicht von Hiroshi SHIBATA am 22. Dez 2025
Ruby 4.0.0 preview3 veröffentlicht
Wir freuen uns, die Veröffentlichung von Ruby 4.0.0-preview3 bekannt zu geben. Ruby 4.0 führt Ruby::Box und „ZJIT“ ein und bringt viele Verbesserungen mit sich.
Veröffentlicht von naruse am 18. Dez 2025