Новости Релиз Ruby 3.3: оптимизация производительности и новые возможности для разработчиков

NewsMaker

I'm just a script
Премиум
9,316
18
8 Ноя 2022
В новой версии Ruby переписан JIT-компилятор, повышающий скорость выполнения кода.


aqqfo3q0nlzt08vz1tzjvt2qbl9ke6qs.jpg


Команда разработчиков Для просмотра ссылки Войди или Зарегистрируйся выход крупного обновления Для просмотра ссылки Войди или Зарегистрируйся - новой основной версии популярного языка программирования, ориентированного на быструю разработку веб-приложений и сервисов. Данный релиз принёс целый ряд нововведений, направленных на повышение производительности интерпретатора CRuby и расширение функциональных возможностей языка.

Несколько важных Для просмотра ссылки Войди или Зарегистрируйся :

  1. Парсер Для просмотра ссылки Войди или Зарегистрируйся : Ruby 3.3.0 включает в себя парсер Prism, Для просмотра ссылки Войди или Зарегистрируйся в форме Си-библиотеки libprism и gem-пакета на языке Ruby. Этот парсер задействован в интерпретаторе CRuby и предоставляет общедоступное API для разбора кода на Ruby, что делает его полезным для рабочих проектов. Prism отличается хорошей переносимостью и гибкой обработкой ошибок в коде.
  2. Проект Lrama: Для генерации парсеров в Ruby 3.3.0 используется проект Для просмотра ссылки Войди или Зарегистрируйся . Этот проект предоставляет реализацию алгоритма LALR на Ruby и поддерживает определения грамматик, используемые в CRuby. Он также предоставляет расширенные возможности, такие как обработка ошибок и параметризированные правила.
  3. Улучшение JIT-компилятора YJIT: JIT-компилятор Для просмотра ссылки Войди или Зарегистрируйся был значительно оптимизирован в этой версии Ruby. YJIT разрабатывается командой Shopify для увеличения производительности Ruby-программ, использующих фреймворк Rails и выполняющих много методов. Новый YJIT применяет версионирование базовых блоков (LBBV - Lazy Basic Block Versioning) вместо обработки методов целиком и написан на Rust. Это значительно улучшило производительность Ruby-приложений.
  4. Новый JIT-компилятор RJIT: Ruby 3.3.0 вводит новый JIT-компилятор под названием RJIT. Он полностью написан на Ruby и заменяет ранее использованный MJIT. RJIT поддерживает только архитектуру x86-64 и Unix-подобные платформы, и он не требует компиляции на C.
  5. Планировщик потоков "M:N": Эта версия Ruby включает планировщик потоков "M:N", который позволяет эффективно использовать ограниченное количество потоков операционной системы для обработки потоков в коде на Ruby. Это может уменьшить накладные расходы на создание и управление потоками. По умолчанию используется 8 потоков операционной системы.
  6. Улучшения в оболочке IRB: Оболочка интерактивных вычислений IRB (REPL) получила несколько улучшений, включая режим отладки, поддержку многостраничного просмотра вывода команд, а также экспериментальную поддержку автоматического дополнения ввода.
  7. Другие изменения: В Ruby 3.3.0 объявлено устаревшим использование метода "it" без аргументов в блоке без параметров. Также добавлено предупреждение при указании определенных gem-пакетов в "require", если они не добавлены в Gemfile или gemspec.
Код проекта Для просмотра ссылки Войди или Зарегистрируйся под лицензиями BSD ("2-clause BSDL") и "Ruby", которая ссылается на последний вариант лицензии GPL и полностью совместима с GPLv3.
 
Источник новости
www.securitylab.ru

Похожие темы