Ruby 2.6.0 正式发布,性能提高 1.7 倍

王练
 王练
发布于 2018年12月26日
收藏 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/

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Ruby 2.6.0 正式发布,性能提高 1.7 倍
加载中

精彩评论

一直都萌萌哒的纠结君
一直都萌萌哒的纠结君
此类新闻都应有这样的一句话,提升1.7倍?之前是有多慢😂
wmzsonic
wmzsonic
ruby国内用的应该还是不少,当年rails出来之后,几乎所有语言的web框架都因此改变。而且ruby写起来真的非常舒服,性能不算好,但也不算低,而且大部分影响我们性能的都是io,再说我们有多少机会要真正去抠性能?

最新评论(13

HalLi
HalLi
提高1.7倍。有没有语病,我也不清楚,读起来挺别扭的。但去看了一下。。
As of Ruby 2.6.0, we have achieved 1.7x faster performance compared to Ruby 2.5 on a CPU-intensive, non-trivial benchmark called Optcarrot.
Comparison:
Optcarrot Lan_Master.nes
2.6.0-preview3+JIT: 85.7 fps
2.6.0-preview3: 54.5 fps - 1.57x slower
2.5.3: 48.3 fps - 1.77x slower
2.0.0: 34.5 fps - 2.48x slower
这是70%吧??
sevk
sevk

引用来自“GITTODO”的评论

python不好吗?
python缺点比ruby多3个。
c
crystalsis
也jit了
wmzsonic
wmzsonic

引用来自“GITTODO”的评论

python不好吗?
不要再问这种问题了,没有结果的,每个语言都挺好的,就看自己喜不喜欢,还有所用领域有没有足够的生态
GITTODO
GITTODO
python不好吗?
JackChang
JackChang
1.7倍提升很有限,希望以后能提升一个数量级 ,然后Rails这个才能继续火起来
开源中国最帅没有之一
开源中国最帅没有之一

引用来自“wmzsonic”的评论

ruby国内用的应该还是不少,当年rails出来之后,几乎所有语言的web框架都因此改变。而且ruby写起来真的非常舒服,性能不算好,但也不算低,而且大部分影响我们性能的都是io,再说我们有多少机会要真正去抠性能?
兄弟很同意你的观点
你们都是技术宅
你们都是技术宅
不错,最近正好在学习ruby,升级一波
dwingo
dwingo
从解释执行到JIT执行, 只有1.7倍的性能提升, 真不算高.
wmzsonic
wmzsonic
ruby国内用的应该还是不少,当年rails出来之后,几乎所有语言的web框架都因此改变。而且ruby写起来真的非常舒服,性能不算好,但也不算低,而且大部分影响我们性能的都是io,再说我们有多少机会要真正去抠性能?
返回顶部
顶部