Шестата актуализация на езика за програмиране Ruby 2.6.0 е тук

RubyLinux

След една година на разработка се публикува изданието Ruby 2.6.0, динамичен обектно-ориентиран език за програмиране, характеризиращ се с висока ефективност на разработка на софтуер и включващ най-добрите характеристики на Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp.

Кодът на проекта се разпространява под лицензите BSD ("BSDL с 2 клаузи") и "Ruby", който се отнася до най-новия GPL лиценз и е напълно съвместим с GPLv3.

Ruby 2.6 е шестата основна версия, изготвен като част от планиран процес на разработка, който включва отделяне на година за подготовка на функционални подобрения и създаване на коригиращи версии на всеки 2-3 месеца.

Основни нови функции в Ruby 2.6.0

С тази нова версия на Ruby добави експериментална реализация на JIT компилатора, което ви позволява значително да подобрите производителността на приложенията на езика Ruby.

За разлика от традиционните JIT компилатори, които генерират машинни инструкции в движение, предложеният JIT компилатор в Ruby първо записва C кода на диск, след което извиква външния C компилатор за генериране на машинните инструкции (GCC поддържа, Clang и Microsoft VC ++).

За да активирате JIT, трябва да посочите опцията „–jit“ при стартиране на ruby ​​или да зададете тази опция в променливата на средата RUBYOPT.

В сравнение с Ruby 2.5, включването на JIT е средно 1.7 пъти по-високо от производителността на приложения с интензивен процесор.

В същото време разработката все още е експериментална и неподходяща за натоварвания, свързани с интензивна работа с памет.

Други подобрения, които бяха получени в тази версия, бяха RubyVM :: AbstractSyntaxTree експериментален модул, който осигурява метод за синтактичен анализ, който обработва предадените низове като Ruby код и връща абстрактно синтаксисно дърво (AST) за този код.

Сега псевдонимът "# then" може да се използва за достъп до метода "Kernel # yield_self". За методите "Array # |" и "Array # -" предложи по-четими псевдоними "Array # union" и "Array # Difference".

Постоянните имена вече могат да започват с главни букви, различни от ASCII.

Осигурена бе и поддръжка за Transient Heap, theap, предназначена за обекти с кратка продължителност на живота, използващи специфични класове (Array, Hash, Object, Struct).

рубин на релси

Например, благодарение на theap, създаването на малки, краткотрайни съществуващи хешове вече е два пъти по-бързо. Тестът rdoc показа увеличение на добива от 6-7%.

За да се увеличи ефективността на превключванията на контекста, се предлагат естествени реализации на съпрограми за arm32, arm64, ppc64le, win32, win64, x86 и amd64 архитектури. "Fiber.yield" и "Fiber # resume" в 64-битови Linux системи вече работят почти 5 пъти по-бързо.

Като цяло интензивните програми показват увеличение на производителността с 5%.

Основни подобрения в Ruby 2.6.0

Получена е актуализирана версия на RubyGems 3.0.1, в който поддръжката за опциите „–ri“ и „–rdoc“ е прекратена, вместо която трябва да използвате „–document“ и „–no-document“.

Bundler вече е инсталиран по подразбиране за управление на зависимости от скъпоценни камъни.

Добавена е поддръжка за недовършени диапазони, например „ary [1 ..]“ или „(1 ..). Всеки {…} ».

От другите подобрения, които могат да бъдат подчертани, можете да намерите:

  • Опцията за изключение е добавена към системния метод Kernel #, за да предизвика изключение при грешка, вместо да връща false.
  • Режимът на заснет е бил добавен към модула за покритие, който проверява дали всеки ред се изпълнява поне веднъж.
  • Класът Enumerator :: Chain и внедрените в него методи "Enumerable # chain" и "Enumerator # +" се добавят за създаване на вериги от изброени стойности.
  • Към модулите Proc и Method е добавена поддръжка за операторите «<<» и «>>», например конструкцията «(f << g) .call (3)» е идентична с «f (g (3 )) ".

Как да инсталирам Ruby 2.6.0 на Linux?

За да получите тази нова версия на Ruby, просто отворете терминал на вашата система и въведете една от следните команди

Debian, Ubuntu и деривати

sudo apt-get install ruby-full

CentOS, Fedora и RHEL

sudo yum install ruby

Gentoo

sudo emerge dev-lang/ruby

Arch Linux, Manjaro, Antergos и деривати

sudo pacman -S ruby

openSUSE

sudo zypper install ruby

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Daniel каза той

    Командите apt-get yum etc отиват в хранилищата по подразбиране на дистрибуциите, които обикновено са стари и няма да имате версия 2.6, а друга стара версия.