Ruby 4.0.0 正式發布


Ruby 團隊發布 Ruby 4.0.0 版本,加入實驗性 Ruby Box 功能和 ZJIT 支援,並帶來許多的改進。

Ruby Box 是一項新的(實驗性)功能,旨在實現定義分離。Ruby Box 中載入的定義會被隔離在同一個盒子裡。它可以將猴子補丁、全域/類別變數的變更、類別/模組定義以及載入的本機/Ruby函式庫與其他盒子隔離/分離。

預期使用場景包括:

  • 當測試案例使用猴子補丁覆蓋某些內容時,在盒式環境中執行測試案例可以保護其他測試。
  • 在 Ruby 進程中並行執行 Web 應用伺服器,以在應用程式伺服器上執行藍綠部署。
  • 使用 Ruby 程式碼並行運行 Web 應用程序,透過檢查回應差異來評估特定時間段內的依賴項更新。
  • 用作基礎(底層)API,以實現某種「套件」(高層)API(尚未設計)。

ZJIT 是一種新型的即時 (JIT) 編譯器,它是作為 YJIT 的下一代產品而開發的,ZJIT 比解釋器快,但不如 YJIT 快,建議不要在生產環境中使用。

Ractor 改進

Ruby 的平行執行機制 Ractor 獲得了多項改進,在效能方面,許多內部資料結構都得到了改進,顯著減少了對全域鎖定的爭用,從而提高了平行性。

https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/

留言