鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > ruby > >

JRuby 1.7.0 发布:默认使用Rudy1.9 模式,并可使用InvokeDynamic

来源:互联网 作者:佚名 时间:2012-11-15 13:22
JRuby 1.7最显著的变化就是使用Ruby1.9.3作为默认运行模式,当然它仍然支持1.8.7. 从以下发布说明上看,尽管JRuby 1.7修复了很多与1.9不兼容的问题,但仍未完全支持Ruby 1.9的 所有特性。 虽然JRuby 1.7对1.9的某些特性还不支持,比如Ripper,但已经可以稳定

JRuby 1.7最显著的变化就是使用Ruby1.9.3作为默认运行模式,当然它仍然支持1.8.7. 从以下发布说明上看,尽管JRuby 1.7修复了很多与1.9不兼容的问题,但仍未完全支持Ruby 1.9的 所有特性。

“虽然JRuby 1.7对1.9的某些特性还不支持,比如Ripper,但已经可以稳定地在1.9模式中运行产品应用程序了。在可预见的未来,我们会每隔2到3周发布一个1.7.x补丁包,这些补丁将会解决用户向我们报告的问题以及那些尚未完成的1.9的库。”

JRuby 1.7不再继续支持Java 5,美国空间美国空间,同时Rubygems和Rake的相应版本也更新到1.8.24 和0.9.2.2。

JRuby1.7能使用Java 7 的invokedynamic功能,但和第一个预览版不同,网站空间,此功能现在默认为关闭状态。详细原因可见JRuby wiki:

“OpenJDK7的现有版本有时会发生错误或者无法优化代码。为了提供一致的JRuby体验,在Java 7中将默认关闭invokedynamic功能。

对于那些没有出现运行错误或者性能降低的应用,我们推荐开启invokedynamic功能以获得最大性能。可以通过强制传递以下参数 “Xcompile.invokedynamic=true”给JRuby(或者添加到JRUBY_OPTS里),或者在Java虚拟机层面设置 “jruby.compile.invokedynamic=true” 参数来开启invokedynamic功能。”

在Java 8 builds 的Java虚拟机中invokedynamic功能默认是开启的。

您是否已经尝试过在JRuby1.7中开启invokedynamic功能? 您的应用的性能有了多少提升?

网友评论
<