• 保存到桌面加入收藏设为首页
服务器技术

JRuby性能再获提升,使用JRuby实现RESTful服务

时间:2016-07-04 20:29:38   作者:老谭   来源:IDCSPED   阅读:3019   评论:0
内容摘要:作者:丁雪丰JRuby核心开发人员Charles Nutter(headius)近日在其博客中连续发表了两篇文章,介绍了最近他所做的一些有意思的事情:让JRuby更快地运行,以及如何用JRuby实现RESTful服务。得益于JVM自身的性能优化能力,JRuby的性能能够满足大多数用户的需要,但人们对性能的渴望是无止尽的...

作者:丁雪丰

JRuby核心开发人员Charles Nutter(headius)近日在其博客中连续发表了两篇文章,介绍了最近他所做的一些有意思的事情:让JRuby更快地运行,以及如何用JRuby实现RESTful服务。

得益于JVM自身的性能优化能力,JRuby的性能能够满足大多数用户的需要,但人们对性能的渴望是无止尽的,自JRuby 1.1.6发布之后的18个月来,整个JRuby开发团队并没有将精力投入在提升性能,现在是时候着手让JRuby的性能更上一层楼了。

在文章中,Charles首先对JRuby中的Call Site做了简单说明,随后给出了优化方法,他所做的工主要是针对编译器的,具体如下:

* 将动态转为静态,让编译器识别动态调用,并将其转为静态调用。
* 减少Fixnum的使用,在一些调用路径中使用原子类型值而非封装过的RubyFixnum对象。
* 检测自我递归,直接进行递归调用,而非将其放入动态管道中。

Charles表示,这样的优化对JRuby的兼容性有一些影响,例如会损坏Ruby的函数调用堆栈等。

在传统的Ruby中要实现REST,Rails自然是首选,而在Java的世界中情况还不明朗,不过JSR-311(JAX-RS)正试图统一标准,Charles在他的另一篇博客中演示了如何在JRuby中通过Jersey来实现RESTful服务。

在这个演示中,他用JRuby重写了Jersey入门文档中的范例,其中还使用了一些JRuby 1.5的新特性。只需几条语句就能实现一个RESTful服务:



经过jrubyc的编译,这段代码就能成为一个“真正”的Java类。随后再通过一个简单的服务器程序和一些CLASSPATH设置,就能看到亲切的“Hello World”了。

JRuby为我们带来了一个又一个的惊喜,它还能做什么?让我们拭目以待吧。

原文链接:http://www.infoq.com/cn/news/2010/06/charles-nutter-jruby


IDCsped 提供最新的IT互联网资讯,本着分享传播的宗旨,我们希望能帮助更多人了解需要的信息!

部分文章转载自互联网、部分是IDCsped原创文章,如果转载,请注明出处:www.idcsped.com !
微信号:13430280788  欢迎加微信交流!

标签:服务器  编译器  兼容性  做什么  Java  
相关评论

销售电话:13430280788

Copyright © 2012-2017 | www.idcsped.com 版权所有

  粤公网安备 44010502001126号  粤ICP备12006439号-1