Den sjette oppdateringen av Ruby 2.6.0-programmeringsspråket er her

Rubin Linux

Etter et års utvikling publiseres Ruby 2.6.0-utgivelsen, et dynamisk objektorientert programmeringsspråk, preget av høy programvareutviklingseffektivitet og med de beste funksjonene i Perl, Java, Python, Smalltalk, Eiffel, Ada og Lisp.

Prosjektkoden distribueres under BSD-lisensene ("2-ledd BSDL") og "Ruby", som refererer til den siste GPL-lisensen og er fullstendig GPLv3-kompatibel.

Ruby 2.6 er den sjette store versjonen, utarbeidet som en del av en planlagt utviklingsprosess, som innebærer å tildele et år til å forberede funksjonelle forbedringer og lage korrigerende versjoner hver 2-3 måneder.

Viktigste nye funksjoner i Ruby 2.6.0

Med denne nye utgivelsen av Ruby la til en eksperimentell implementering av JIT-kompilatoren, som lar deg forbedre ytelsen til applikasjoner på rubinspråket betydelig.

I motsetning til tradisjonelle JIT-kompilatorer, som genererer maskininstruksjoner i farta, skriver den foreslåtte JIT-kompilatoren i Ruby først C-koden til disken, og kaller den eksterne C-kompilatoren for å generere maskininstruksjonene (GCC-støttet, Clang og Microsoft VC ++).

For å aktivere JIT, må du spesifisere "–jit" -alternativet når du starter rubin eller angi dette alternativet i RUBYOPT-miljøvariabelen.

Sammenlignet med Ruby 2.5 er inkluderingen av JIT i gjennomsnitt 1.7 ganger ytelsen til CPU-intensive applikasjoner.

Samtidig er utviklingen fremdeles eksperimentell og lite egnet for belastninger forbundet med minneintensivt arbeid.

Andre forbedringer som ble oppnådd i denne versjonen var RubyVM :: AbstractSyntaxTree eksperimentell modul, som gir en parsingsmetode som behandler de passerte strengene som Ruby-kode og returnerer et Abstract Syntax Tree (AST) for denne koden.

Nå kan aliaset "#then" brukes til å få tilgang til metoden "Kernel # yield_self". For "Array # |" - metoder og "Array # -" foreslo mer lesbare aliaser "Array # union" og "Array # Difference".

Konstant navn kan nå starte med andre store bokstaver enn ASCII.

Støtte ble også gitt for Transient Heap, theap beregnet på objekter med kort levetid ved bruk av spesifikke klasser (Array, Hash, Object, Struct).

rubin-på-skinner

Takket være theap er det for eksempel dobbelt så raskt å lage eksisterende små kortvarige hashes. Rdoc-testen viste en økning i utbyttet på 6-7%.

For å øke ytelsen til kontekstbrytere foreslås innfødte implementeringer av coroutines for arm32, arm64, ppc64le, win32, win64, x86 og amd64 arkitekturer. "Fiber.yield" og "Fiber # resume" på 64-bit Linux-systemer kjører nå nesten 5 ganger raskere.

Generelt viser intensive programmer en ytelsesøkning på 5%.

Store forbedringer i Ruby 2.6.0

En oppdatert versjon av RubyGems 3.0.1 er mottatt, der støtte for alternativene "–ri" og "–rdoc" er avviklet, i stedet for at du skal bruke "–dokument" og "–no-dokument".

Bundler er nå installert som standard for å administrere perleavhengigheter.

Lagt til støtte for uferdige områder, for eksempel "ary [1 ..]" eller "(1 ..). Hver {…} ".

Av de andre forbedringene som kan fremheves, kan du finne:

  • Unntaksalternativet er lagt til Kernel # systemmetoden for å øke et unntak ved feil i stedet for å returnere false.
  • Oneshot-modusen har vært lagt til dekningsmodulen, som sjekker om hver rad kjøres minst en gang.
  • Enumerator :: Chain-klassen og "Enumerable # chain" og "Enumerator # +" -metodene som er implementert i den, blir lagt til for å lage kjeder med opptalte verdier.
  • Støtte for operatørene «<<» og «>>» er lagt til i Proc og Method-modulene, for eksempel er konstruksjonen «(f << g). Kall (3)» identisk med «f (g (3) )) ".

Hvordan installerer jeg Ruby 2.6.0 på Linux?

For å få denne nye versjonen av Ruby, er det bare å åpne en terminal på systemet ditt og skrive inn en av følgende kommandoer

Debian, Ubuntu og derivater

sudo apt-get install ruby-full

CentOS, Fedora og RHEL

sudo yum install ruby

Gentoo

sudo emerge dev-lang/ruby

Arch Linux, Manjaro, Antergos og derivater

sudo pacman -S ruby

opensuse

sudo zypper install ruby

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Daniel sa

    Kommandoene apt-get yum etc går til standardregister for distribusjonene, som vanligvis er gamle, og du vil ikke ha versjon 2.6, men en annen gammel versjon.