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(抽象語法樹)節點。
其他新特性、改進和值得關注的變化請查閱發行公告: