Den sjette opdatering af Ruby 2.6.0-programmeringssproget er her

Rubin Linux

Efter et års udvikling offentliggøres Ruby 2.6.0-udgivelsen, et dynamisk objektorienteret programmeringssprog, der er kendetegnet ved høj softwareudviklingseffektivitet og inkorporerer de bedste funktioner i Perl, Java, Python, Smalltalk, Eiffel, Ada og Lisp.

Projektkoden distribueres under BSD-licenserne ("2-klausul BSDL") og "Ruby", der refererer til den nyeste GPL-licens og er fuldt ud GPLv3-kompatibel.

Ruby 2.6 er den sjette større version, udarbejdet som en del af en planlagt udviklingsproces, der involverer at afsætte et år til at forberede funktionelle forbedringer og oprette korrigerende versioner hver 2-3 måneder.

Vigtigste nye funktioner i Ruby 2.6.0

Med denne nye udgivelse af Ruby tilføjede en eksperimentel implementering af JIT-kompilatoren, hvilket giver dig mulighed for betydeligt at forbedre ydeevnen for applikationer på Ruby-sproget.

I modsætning til traditionelle JIT-kompilatorer, som genererer maskininstruktioner i farten, skriver den foreslåede JIT-kompilator i Ruby først C-koden til disken og kalder derefter den eksterne C-kompilator for at generere maskininstruktionerne (GCC understøttet, Clang og Microsoft VC ++).

For at aktivere JIT skal du angive indstillingen "–jit", når du starter rubin eller indstille denne indstilling i RUBYOPT-miljøvariablen.

Sammenlignet med Ruby 2.5 er inkluderingen af ​​JIT i gennemsnit 1.7 gange effektiviteten af ​​CPU-intensive applikationer.

Samtidig er udviklingen stadig eksperimentel og dårligt egnet til belastninger forbundet med hukommelsesintensivt arbejde.

Andre forbedringer, der blev opnået i denne version, var RubyVM :: AbstractSyntaxTree eksperimentelt modul, som giver en parsingsmetode, der behandler de beståede strenge som Ruby-kode og returnerer et Abstract Syntax Tree (AST) for denne kode.

Nu kan aliaset "#then" bruges til at få adgang til metoden "Kernel # yield_self". For "Array # |" - metoder og "Array # -" foreslog mere læsbare aliasser "Array # union" og "Array # Difference".

Konstant navne kan nu starte med andre store bogstaver end ASCII.

Support blev også leveret til Transient Heap, theap beregnet til objekter med kort levetid ved hjælp af bestemte klasser (Array, Hash, Object, Struct).

rubin-på-skinner

Takket være theap er det nu dobbelt så hurtigt at oprette små, kortvarige eksisterende hashes. Rdoc-testen viste en stigning i udbyttet på 6-7%.

For at øge ydeevnen for kontekstskiftere foreslås native implementeringer af coroutines til arm32, arm64, ppc64le, win32, win64, x86 og amd64 arkitekturer. "Fiber.yield" og "Fiber # resume" på 64-bit Linux-systemer kører nu næsten 5 gange hurtigere.

Generelt viser intensive programmer en performanceforøgelse på 5%.

Store forbedringer i Ruby 2.6.0

En opdateret version af RubyGems 3.0.1 er modtaget, hvor understøttelse af indstillingerne "–ri" og "–rdoc" er afbrudt, i stedet for hvor du skal bruge "–dokument" og "–no-dokument".

Bundler er nu installeret som standard til at styre perleafhængigheder.

Tilføjet understøttelse af ufærdige områder, for eksempel "ary [1 ..]" eller "(1 ..). Hver {…} ".

Af de andre forbedringer, der kan fremhæves, kan du finde:

  • Undtagelsesindstillingen er blevet føjet til Kernel #-systemmetoden for at hæve en undtagelse ved fejl i stedet for at returnere falsk.
  • Oneshot-tilstanden har været føjes til dækningsmodulet, som kontrollerer, om hver række udføres mindst én gang.
  • Enumerator :: Chain-klassen og "Enumerable # chain" og "Enumerator # +" -metoderne, der er implementeret i den, tilføjes for at skabe kæder med opregnede værdier.
  • Support til operatørerne «<<» og «>>» er blevet tilføjet til Proc- og Method-modulerne, for eksempel er konstruktionen «(f << g). Kald (3)» er identisk med «f (g (3) )) ".

Hvordan installeres Ruby 2.6.0 på Linux?

For at få denne nye version af Ruby skal du bare åbne en terminal på dit system og skrive en af ​​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

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Daniel sagde han

    Kommandoerne apt-get yum osv. Går til standardopbevaringsstederne for distributionerne, som generelt er gamle, og du har ikke version 2.6, men en anden gammel version.