Szósta aktualizacja języka programowania Ruby 2.6.0 jest już dostępna

Rubinowy Linux

Po roku opracowywania publikowane jest wydanie Ruby 2.6.0, dynamiczny, zorientowany obiektowo język programowania, charakteryzujący się wysoką wydajnością tworzenia oprogramowania i zawierający najlepsze cechy Perl, Java, Python, Smalltalk, Eiffel, Ada i Lisp.

Kod projektu jest rozpowszechniany na licencji BSD („2-klauzula BSDL”) i „Ruby”, która odnosi się do najnowszej licencji GPL i jest w pełni zgodna z GPLv3.

Ruby 2.6 to szósta wersja główna, przygotowywany w ramach zaplanowanego procesu rozwojowego, który polega na przeznaczeniu roku na przygotowanie usprawnień funkcjonalnych i tworzenie wersji korygujących co 2-3 miesiące.

Główne nowe funkcje w Rubim 2.6.0

Wraz z nową wersją Ruby dodano eksperymentalną implementację kompilatora JIT, co pozwala znacznie poprawić wydajność aplikacji w języku Ruby.

W przeciwieństwie do tradycyjnych kompilatorów JIT, które generują instrukcje maszynowe w locie, proponowany kompilator JIT w Ruby najpierw zapisuje kod C na dysku, a następnie wywołuje zewnętrzny kompilator C w celu wygenerowania instrukcji maszynowych (obsługiwane przez GCC, Clang i Microsoft VC ++).

Aby włączyć JIT, musisz określić opcję „–jit” podczas uruchamiania programu Ruby lub ustawić tę opcję w zmiennej środowiskowej RUBYOPT.

W porównaniu do Ruby 2.5, włączenie JIT jest średnio 1.7 razy wydajniejsze niż aplikacje intensywnie wykorzystujące procesor.

Jednocześnie rozwój jest nadal eksperymentalny i źle dostosowany do obciążeń związanych z intensywną pracą pamięci.

Inne ulepszenia, które uzyskano w tej wersji, to RubyVM :: AbstractSyntaxTree moduł eksperymentalny, który zapewnia metodę analizy, która przetwarza przekazane ciągi jako kod Ruby i zwraca abstrakcyjne drzewo składni (AST) dla tego kodu.

Teraz alias "#then" może być użyty do uzyskania dostępu do metody "Kernel # yield_self". W przypadku metod „Array # |” a „Array # -” zasugerował bardziej czytelne aliasy „Array # union” i „Array # Difference”.

Nazwy stałe mogą teraz rozpoczynać się wielkimi literami innymi niż ASCII.

Zapewniono również wsparcie dla Transient Heap, mapy przeznaczonej dla obiektów o krótkiej żywotności przy użyciu określonych klas (Array, Hash, Object, Struct).

rubinowe na szynach

Na przykład dzięki theap tworzenie małych, krótkotrwałych istniejących skrótów jest teraz dwukrotnie szybsze. Test rdoc wykazał wzrost wydajności o 6-7%.

Aby zwiększyć wydajność przełączania kontekstu, proponowane są natywne implementacje programów dla architektur arm32, arm64, ppc64le, win32, win64, x86 i amd64. „Fiber.yield” i „Fiber # resume” w 64-bitowych systemach Linux działają teraz prawie 5 razy szybciej.

Ogólnie rzecz biorąc, programy intensywne wykazują wzrost wydajności o 5%.

Główne ulepszenia w Rubim 2.6.0

Otrzymano zaktualizowaną wersję RubyGems 3.0.1, w którym zaprzestano obsługi opcji „–ri” i „–rdoc”, zamiast których należy używać „–document” i „–no-document”.

Bundler jest teraz domyślnie instalowany w celu zarządzania zależnościami gem.

Dodano obsługę niedokończonych zakresów, na przykład „ary [1 ..]” lub „(1 ..). Każdy {…} ".

Spośród innych ulepszeń, na które można zwrócić uwagę, można znaleźć:

  • Opcja wyjątku została dodana do metody systemowej Kernel #, aby zgłosić wyjątek w przypadku błędu zamiast zwracać fałsz.
  • Tryb oneshot był dodany do modułu pokrycia, który sprawdza, czy każdy wiersz jest wykonywany co najmniej raz.
  • Klasa Enumerator :: Chain oraz zaimplementowane w niej metody „Enumerable # chain” i „Enumerator # +” są dodawane w celu utworzenia łańcuchów wyliczanych wartości.
  • Obsługa operatorów «<<» i «>>» została dodana do modułów Proc and Method, na przykład konstrukcja «(f << g). Call (3)» jest identyczna z «f (g (3) )) ”.

Jak zainstalować Ruby 2.6.0 w systemie Linux?

Aby otrzymać nową wersję Rubiego, po prostu otwórz terminal w swoim systemie i wpisz jedno z poniższych poleceń

Debian, Ubuntu i pochodne

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 pochodne

sudo pacman -S ruby

openSUSE

sudo zypper install ruby

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Daniel powiedział

    Polecenia apt-get yum etc przechodzą do domyślnych repozytoriów dystrybucji, które są generalnie stare i nie będziesz mieć wersji 2.6, ale inną starą wersję.