




Вышел Ruby 3.4.0: идентификатор it, парсер Prism и оптимизация YJIT
Разработчики языка программирования Ruby выпустили обновление. В версии 3.4.0 добавили новый идентификатор it, по умолчанию активировали парсер Prism, включили очередные оптимизации JIT-компилятора YJIT и внедрили другие улучшения.
Что нового в Ruby 3.4.0:
Идентификатор it. Появился идентификатор it, который упрощает работу с неименованными параметрами в коде. Его предлагают использовать вместо переменной _1, чтобы больше не возникало путаницы. Например, it показывает, что в блоке кода есть только один аргумент, а при использовании _1 не понятно, есть ли параметр _2.
Парсер Prism. Теперь в Ruby по умолчанию используется парсер Prism. Он проще в использовании и с его помощью можно обрабатывать ошибки в коде. С помощью метода Prism.parse(source) можно получить AST-представление кода, Prism.parse_success?(source) — проверить код на наличие ошибок, Prism.parse_comments(source) — выделить комментарии из кода. Если нужно вернуть старый парсер parse.y, то следует использовать опцию --parser=parse.y.
Оптимизация YJIT. Разработчики продолжают оптимизировать JIT-компилятор YJIT, который развивают инженеры компании Shopify. В отличие от старого компилятора MJIT, в новом YJIT реализовали метод LBBV (Lazy Basic Block Versioning). Он компилирует код частями. Тесты на системах x86_64 и ARM64 показывают, что компилятор YJIT оказывается быстрее.
Обновление библиотеки socket. В библиотеке socket теперь по умолчанию работает алгоритм Happy Eyeballs. При подключении к хостам он автоматически выбирает оптимальный протокол.
Читать на habr.com