Stiglo je šesto ažuriranje programskog jezika Ruby 2.6.0

RubyLinux

Nakon godinu dana razvoja objavljeno je izdanje Ruby 2.6.0, dinamički objektno orijentisani programski jezik, koji se odlikuje visokom efikasnošću razvoja softvera i uključuje najbolje karakteristike Perla, Jave, Pythona, Smalltalka, Eiffela, Ade i Lispa.

Kôd projekta distribuira se pod BSD licencama ("BSDL sa 2 klauzule") i "Ruby", koji se odnosi na najnoviju GPL licencu i u potpunosti je u skladu sa GPLv3.

Ruby 2.6 je šesta glavna verzija, pripremljen kao dio planiranog razvojnog procesa, koji uključuje odvajanje godine za pripremu funkcionalnih poboljšanja i stvaranje korektivnih verzija svaka 2-3 mjeseca.

Glavne nove funkcije u Ruby 2.6.0

S ovim novim izdanjem Rubyja dodao eksperimentalnu implementaciju JIT kompajlera, što vam omogućava da značajno poboljšate performanse aplikacija na jeziku Ruby.

Za razliku od tradicionalnih JIT kompajlera, koji generiraju mašinske upute u letu, predloženi JIT kompajler u Rubyu prvo zapisuje C kod na disk, a zatim poziva vanjski C kompajler da generira mašinske upute (podržani GCC, Clang i Microsoft VC ++).

Da biste omogućili JIT, morate navesti opciju „–jit“ prilikom pokretanja ruby ​​ili postaviti ovu opciju u varijabli okruženja RUBYOPT.

U poređenju sa Ruby 2.5, uključivanje JIT-a u prosjeku je 1.7 puta veće od performansi CPU intenzivnih aplikacija.

U isto vrijeme, razvoj je i dalje eksperimentalan i neprikladan za opterećenja povezana s intenzivno memorijskim radom.

Ostala poboljšanja koja su postignuta u ovoj verziji je RubyVM :: AbstractSyntaxTree eksperimentalni modul, koji pruža metodu raščlanjivanja koja obrađuje prosljeđene nizove kao Ruby kôd i vraća apstraktno sintaksno stablo (AST) za ovaj kôd.

Sada se alias "#then" može koristiti za pristup metodi "Kernel # yield_self". Za metode "Array # |" i "Array # -" predložio je čitljivije pseudonime "Array # union" i "Array # Difference".

Konstantna imena sada mogu počinjati velikim slovima koja nisu ASCII.

Podržana je i Privremena hrpa, namijenjena objektima s kratkim životnim vijekom koristeći određene klase (Array, Hash, Object, Struct).

rubin-na-šinama

Na primjer, zahvaljujući theap-u, stvaranje postojećih malih kratkotrajnih hashova sada je dvostruko brže. Rdoc test pokazao je porast prinosa za 6-7%.

Da bi se povećale performanse prebacivanja konteksta, predložene su nativne implementacije podprograma za arhitekture arm32, arm64, ppc64le, win32, win64, x86 i amd64. "Fiber.yield" i "Fiber # resume" na 64-bitnim Linux sistemima sada rade gotovo pet puta brže.

Generalno, intenzivni programi pokazuju porast performansi od 5%.

Glavna poboljšanja u Ruby 2.6.0

Primljena je ažurirana verzija RubyGems 3.0.1, u kojem je ukinuta podrška za opcije „–ri“ i „–rdoc“, umjesto koje biste trebali koristiti „–document“ i „–no-document“.

Paket je sada instaliran prema zadanim postavkama za upravljanje ovisnostima o draguljima.

Dodana je podrška za nedovršene raspone, na primjer, "ary [1 ..]" ili "(1 ..). Svaki {…} ".

Od ostalih poboljšanja koja se mogu istaknuti, možete pronaći:

  • Opcija iznimke dodana je Kernel # sistemskoj metodi kako bi se pokrenula iznimka zbog greške umjesto vraćanja false.
  • Režim onehot je bio dodan modulu pokrivenosti, koji provjerava da li se svaki red izvršava barem jednom.
  • Klasa Enumerator :: Chain i u nju implementirane metode "Enumerable # chain" i "Enumerator # +" dodaju se za stvaranje lanaca pobrojanih vrijednosti.
  • Podrška za operatore «<<» i «>>» dodana je modulima Proc i Method, na primjer, konstrukcija «(f << g) .call (3)» identična je «f (g (3 )) ".

Kako instalirati Ruby 2.6.0 na Linux?

Da biste dobili ovu novu verziju Rubyja, samo otvorite terminal na vašem sistemu i unesite jednu od sljedećih naredbi

Debian, Ubuntu i derivati

sudo apt-get install ruby-full

CentOS, Fedora i RHEL

sudo yum install ruby

Gentoo

sudo emerge dev-lang/ruby

Arch Linux, Manjaro, Antergos i derivati

sudo pacman -S ruby

openSUSE

sudo zypper install ruby

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Danijel rekao je

    Naredbe apt-get yum itd idu u zadana spremišta distribucija, koja su uglavnom stara i nećete imati verziju 2.6 već drugu staru verziju.