BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Mirko Stocker 关注 0 他的粉丝 ,译者 陈菲 关注 0 他的粉丝 发布于 2012年10月31日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

在第一个预览版(见InfoQ的报道)发布五个月之后及第二个预览版发布不久,JRuby 1.7.0 发布了正式版。

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功能? 您的应用的性能有了多少提升?

查看英文原文http://www.infoq.com/news/2012/10/jruby-17


感谢李永伦对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT