1. 程式人生 > >Ruby 2.6.0 正式釋出,效能提高 1.7 倍

Ruby 2.6.0 正式釋出,效能提高 1.7 倍

  

Ruby 2.6.0 已正式釋出,引入了許多新功能和效能改進,其中最值得關注的包括:

  • 一個新的 JIT 編譯器

  • RubyVM::AbstractSyntaxTree 模組

具體來看:

JIT(試驗階段)

Ruby 2.6 引入了 JIT (Just-in-time) 編譯器的初始實現。JIT 編譯器旨在提高 Ruby 程式執行的效能。與其他語言的普通 JIT 編譯器不同,Ruby 的 JIT 編譯器以一種獨特的方式進行 JIT 編譯,它先將 Ruby 編譯成 C 程式碼,然後通過生成通用的 C 編譯器過程(compiler process)來生成原生機器碼。詳情可查閱 

MJIT organization by Vladimir Makarov 

要啟用 JIT 編譯器,需在命令列或 $RUBYOPT 環境變數中指定 --jit 

Optcarrot 基準測試中,Ruby 2.6 與 Ruby 2.5 相比,效能提高了 1.7 倍。不過,它目前仍然處於試驗階段,詳見 Ruby 2.6 JIT - Progress and Future 

RubyVM::AbstractSyntaxTree(試驗階段)

Ruby 2.6 還引入了 RubyVM::AbstractSyntaxTree 模組。該模組具有 parse 方法,它將給定的字串解析為 Ruby 程式碼並返回程式碼的 AST(抽象語法樹)節點。

其他新特性、改進和值得關注的變化請查閱發行公告:

https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/