Вышел 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.

ary = ["foo", "bar", "baz"] p ary.map { it.upcase } #=> ["FOO", "BAR", "BAZ"]
  • Парсер 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. При подключении к хостам он автоматически выбирает оптимальный протокол.


ссылка на оригинал статьи https://habr.com/ru/articles/870828/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *