Ruby 4.0 вышел в день 30-летия языка. Внутри — «коробки» для кода и новый супер-компилятор

Ruby 4.0 вышел в день 30-летия языка. Внутри — «коробки» для кода и новый супер-компилятор

ZJIT обещает рост производительности, но пока честно признает отставание от YJIT.

image

У Ruby уже почти сложилась праздничная традиция: в Рождество разработчики выкатывают новую версию языка. 25 декабря этот ритуал снова сработал, утром вышла Ruby 4.0, и это не просто «еще один релиз», а заметный шаг в сторону производительности и более строгой изоляции кода.

Главная новинка версии, о которой говорят в первую очередь, это ZJIT, новый just-in-time компилятор. Его называют следующим поколением YJIT и прямо связывают с дальнейшим разгоном скорости выполнения Ruby-приложений. При этом команда честно предупреждает: на текущем этапе ZJIT может уступать YJIT по чистой скорости, но ставка сделана на развитие и потенциал в будущем.

Еще один крупный эксперимент в Ruby 4.0 называется Ruby Box. Это механизм, который добавляет «разделение» для определений: если определения загружены внутрь box, они изолированы именно там. Идея в том, чтобы упростить безопасное сосуществование разных частей кода и уменьшить риск неожиданных конфликтов между определениями в одном процессе.

Кроме этого, Ruby 4.0 получила улучшения механизма параллельного выполнения Ractor, несколько небольших языковых изменений и обновления в стандартных классах. Скачать релиз и посмотреть подробности можно на официальном сайте Ruby-Lang.org.