在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
自从JRuby 1.6系列的首个版本发布以来已经过去了一年多的时间,现在JRuby 1.7.0的首个预览版也已经发布了。 JRuby 1.6是首个兼容于Ruby 1.9.2的版本,借助于JRuby 1.7,Ruby 1.9甚至已经成为了默认的运行时模式。在此次发布声明中,其他值得关注的变化有:
对invokedynamic的支持是自动开启的,但为了能够充分利用这一点,你需要在最新发布的Java 7上运行。InfoQ有幸采访到了Charles Nutter以深入了解JRuby是如何从对invokedynamic的支持上获益的: JRuby对invokedynamic的使用使得我们更加接近于这一目标:让Ruby达到Java一样的运行速度。由于现在JVM能够清楚地理解我们是 如何进行动态调用的,因此它可以对这些动态调用进行优化,就像对常规的静态类型调用所做的那样。突然间,那些使得Java运行速度加快的小技巧都能够应用 到普通的老式Ruby代码上了。这真是太奇妙了。 InfoQ:目前的JRuby是最快的Ruby实现么? 我觉得最终我们可以这么说。总会存在一些情况是我们没有处理的,或是需要未来的JVM改进支持的,但一般来说,JRuby总是要比其他的Ruby实现快一些。随着在JRuby与OpenJDK上invokedynamic工作的不断进行,我们会走得更远。 InfoQ:Fibers怎么样了,我听坊间传闻Java 8将会对协程提供一些支持。你了解么? 很遗憾,协程并不会添加到Java 8中,但可能会添加到Java 9中。为了降低JRuby Fiber实现的代价,我们现在正与Google代码之夏的一个学生一同探索基于Kilim的实现。但我们也不知道付出的努力是否能够成功,但他已经取得了一些进展。 InfoQ:Tom Enebo与你从Engine Yard来到了Red Hat,可你还是在继续从事JRuby的工作。你还打算从事Red Hat自己的JVM语言Ceylon的开发么? 一切皆有可能!我对自己的这个转变感到兴奋异常,因为我的工作除了继续开发JRuby外,还会探索其他的JVM语言以及JVM对其的支持。我完全相信对于语言来说,JVM是最棒的运行时,无论这些语言是静态还是动态的;现在,我就会证明给大家看。 InfoQ:感谢你能接受我们的采访! 感兴趣的读者可以从JRuby网站上下载preview1版,如果使用的是RVM,那么你可以通过rvm install jruby-1.7.0.preview1安装。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论