De zesde update van de programmeertaal Ruby 2.6.0 is hier

RubyLinux

Na een jaar van ontwikkeling wordt de Ruby 2.6.0-release gepubliceerd, een dynamische objectgeoriënteerde programmeertaal, gekenmerkt door een hoge efficiëntie van softwareontwikkeling en met de beste eigenschappen van Perl, Java, Python, Smalltalk, Eiffel, Ada en Lisp.

De projectcode wordt verspreid onder de BSD-licenties ("2-clausule BSDL") en "Ruby", wat verwijst naar de nieuwste GPL-licentie en volledig GPLv3-compatibel is.

Ruby 2.6 is de zesde grote versie, opgesteld als onderdeel van een gepland ontwikkelingsproces, waarbij een jaar wordt uitgetrokken om functionele verbeteringen voor te bereiden en om de 2-3 maanden corrigerende versies te maken.

Belangrijkste nieuwe functies in Ruby 2.6.0

Met deze nieuwe release van Ruby een experimentele implementatie van de JIT-compiler toegevoegd, waarmee u de prestaties van applicaties in de Ruby-taal aanzienlijk kunt verbeteren.

In tegenstelling tot traditionele JIT-compilers, die on-the-fly machine-instructies genereren, schrijft de voorgestelde JIT-compiler in Ruby eerst de C-code naar schijf en roept vervolgens de externe C-compiler op om de machine-instructies te genereren (GCC ondersteund, Clang en Microsoft VC ++).

Om JIT in te schakelen, moet u de optie "–jit" specificeren bij het starten van ruby ​​of deze optie instellen in de omgevingsvariabele RUBYOPT.

In vergelijking met Ruby 2.5 levert de opname van JIT gemiddeld 1.7 keer de prestaties van CPU-intensieve applicaties op.

Tegelijkertijd is de ontwikkeling nog steeds experimenteel en niet geschikt voor belastingen die gepaard gaan met geheugenintensief werk.

Andere verbeteringen die in deze versie werden verkregen, waren de RubyVM :: AbstractSyntaxTree experimentele module, die een parseermethode biedt die de doorgegeven strings verwerkt als Ruby-code en een Abstract Syntax Tree (AST) voor deze code retourneert.

Nu kan de alias "#then" worden gebruikt om toegang te krijgen tot de methode "Kernel # yield_self". Voor "Array # |" -methoden en "Array # -" suggereerden meer leesbare aliassen "Array # union" en "Array # Difference".

Namen van constanten kunnen nu beginnen met andere hoofdletters dan ASCII.

Er werd ook ondersteuning geboden voor Transient Heap, theap bedoeld voor objecten met een korte levensduur met behulp van specifieke klassen (Array, Hash, Object, Struct).

robijn-op-rails

Dankzij theap is het maken van bestaande kleine, kortstondige hashes nu bijvoorbeeld twee keer zo snel. De rdoc-test liet een opbrengststijging zien van 6-7%.

Om de prestaties van context-switches te verbeteren, worden native implementaties van coroutines voorgesteld voor arm32-, arm64-, ppc64le-, win32-, win64-, x86- en amd64-architecturen. "Fiber.yield" en "Fiber # resume" op 64-bits Linux-systemen werken nu bijna 5 keer sneller.

Over het algemeen laten intensieve programma's een prestatieverbetering van 5% zien.

Grote verbeteringen in Ruby 2.6.0

Er is een bijgewerkte versie van RubyGems 3.0.1 ontvangen, waarin ondersteuning voor de "–ri" en "–rdoc" opties is stopgezet, in plaats van welke u "–document" en "–no-document" zou moeten gebruiken.

Bundler is nu standaard geïnstalleerd om edelsteenafhankelijkheden te beheren.

Ondersteuning toegevoegd voor onvoltooide bereiken, bijvoorbeeld "ary [1 ..]" of "(1 ..). Elke {…} ».

Van de andere verbeteringen die kunnen worden benadrukt, vindt u:

  • De uitzonderingsoptie is toegevoegd aan de Kernel # -systeemmethode om een ​​uitzondering op een fout op te werpen in plaats van false te retourneren.
  • De oneshot-modus is geweest toegevoegd aan de dekkingsmodule, die controleert of elke rij minstens één keer wordt uitgevoerd.
  • De Enumerator :: Chain klasse en de "Enumerable # chain" en "Enumerator # +" methoden die erin geïmplementeerd zijn, worden toegevoegd om ketens van opgesomde waarden te creëren.
  • Ondersteuning voor de operatoren «<<» en «>>» is toegevoegd aan de Proc en Method modules, zo is de constructie «(f << g) .call (3)» identiek aan «f (g (3 )) ".

Hoe installeer ik Ruby 2.6.0 op Linux?

Om deze nieuwe versie van Ruby te krijgen, opent u gewoon een terminal op uw systeem en typt u een van de volgende opdrachten

Debian, Ubuntu en derivaten

sudo apt-get install ruby-full

CentOS, Fedora en RHEL

sudo yum install ruby

Gentoo

sudo emerge dev-lang/ruby

Arch Linux, Manjaro, Antergos en derivaten

sudo pacman -S ruby

openSUSE

sudo zypper install ruby

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Daniel zei

    De apt-get yum etc-commando's gaan naar de standaard opslagplaatsen van de distributies, die over het algemeen oud zijn en je zult geen versie 2.6 hebben maar een andere oude versie.