Реліз Ruby 4.0 отримав експериментальну ізоляцію коду Ruby Box і новий JIT-компілятор
Команда підтримки мови програмування Ruby представила реліз 4.0. Нова версія має дві великі зміни: експериментальну функцію Ruby Box та новий JIT-компілятор ZJIT.
Ruby Box — це новий експериментальний механізм ізоляції коду, який дозволяє запускати визначення класів, модулів, глобальних змінних і навіть підключення бібліотек в окремому «боксі» ізольованому від решти програми. Ідея функції проста: ізолювати побічні ефекти.
Ruby Box буде корисний при запуску тестів з агресивними патчами, паралельному запуску кількох версій веб-додатку для blue-green деплою та експериментами із залежностями в одному Ruby-процесі.
Ше одна ключова новинка — ZJIT. Це новий компілятор just-in-time, який в наступній версії повинен прийти на зміну YJIT. Зараз, за словами команди, він поки поступається YJIT. Тому експериментувати з ним можна, але в продакшен краще не застосовувати.
Що стосується паралелізму в Ruby, то Ractor отримав новий механізм синхронізації Ractor::Port, який спрощує обмін повідомленнями. Внутрішні структури були перероблені для зниження блокувань та конкуренції за CPU-кеш.












Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: