Stiglo je šesto ažuriranje programskog jezika Ruby 2.6.0

RubyLinux

Nakon godinu dana razvoja objavljeno je izdanje Ruby 2.6.0, dinamični objektno orijentirani programski jezik, koji karakterizira visoka učinkovitost razvoja softvera i uključuje najbolje značajke Perla, Jave, Pythona, Smalltalka, Eiffela, Ade i Lispa.

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

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

Glavne nove značajke u Ruby 2.6.0

S ovim novim izdanjem Ruby dodao eksperimentalnu implementaciju JIT kompajlera, što vam omogućuje značajno poboljšanje izvedbe aplikacija na jeziku Ruby.

Za razliku od tradicionalnih JIT-ovih kompajlera, koji u letu generiraju strojne upute, predloženi JIT-ov kompajler u Rubyu prvo zapisuje C kôd na disk, a zatim poziva vanjski C kompajler da generira strojne upute (podržani GCC, Clang i Microsoft VC ++).

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

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

Istodobno, 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 čitljiviji alias "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 korištenjem određenih klasa (Array, Hash, Object, Struct).

rubin-na-šinama

Na primjer, zahvaljujući theap-u, stvaranje malih kratkotrajnih postojećih 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 izvorne implementacije podprograma za arhitekture arm32, arm64, ppc64le, win32, win64, x86 i amd64. "Fiber.yield" i "Fiber # resume" na 64-bitnim Linux sustavima sada rade gotovo pet puta brže.

Općenito, intenzivni programi pokazuju porast izvedbe 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 radi podizanja iznimke zbog pogreške umjesto vraćanja false.
  • Način oneshot je bio dodan modulu pokrivenosti, koji provjerava izvršava li se svaki redak 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 sustavu i upišite 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 svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Danijel dijo

    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.