Шестое обновление языка программирования Ruby 2.6.0 здесь

Руби Линукс

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

Код проекта распространяется по лицензиям BSD. («BSDL с двумя пунктами») и «Ruby», что относится к последней лицензии GPL и полностью соответствует GPLv2.

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 # union» и «Array # Difference».

Имена констант теперь могут начинаться с прописных букв, отличных от ASCII.

Также была предоставлена ​​поддержка Transient Heap, карты, предназначенной для объектов с коротким сроком службы, использующих определенные классы (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.   Дэниел сказал

    Команды apt-get yum и т. Д. Попадают в репозитории дистрибутивов по умолчанию, которые, как правило, старые, и у вас будет не версия 2.6, а другая старая версия.