精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-07
自从Sun雇佣了JRuby团队之后,JRuby团队的进展确实非常迅速阿。3月5号,JRuby发布了0.9.8版本,在该版本上面,rails1.2.1的98%的单元测试得到通过,可以认为JRuby正式支持rails了。此外0.9.8版本在IO方面性能也有了很大的提高,貌似提高了6.5倍之多。 预计JRuby在扫除了最后2%的不兼容问题之后,很快就会发布JRuby1.0正式版本。 有了Sun公司的大力推动,JRuby还是很值得期待的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-03-07
但是慢的可怕啊,究竟是因为脚本本身的问题,还是因为jruby自身的解析速度影响了运行效率呢?
|
|
返回顶楼 | |
发表时间:2007-03-07
看了一下这个东东,貌似有狠多狠不错的特性,值得期待:
1.jvm线程支持 x = Thread.new { sleep 0.1; print "x"; print "y"; print "z" } a = Thread.new { print "a"; print "b"; sleep 0.2; print "c" } x.join # Let the threads finish before a.join # main thread exits... ps:我没明白上边的代码到底什么意思,不过总算是有线程了 2.ruby调用java require ‘java' include_class “java.util.Random” puts Random.new.nextInt() => 1064445193 include_class “java.lang.System” System.out.println(“bar”) => bar include_class(‘java.lang.String’) {|p,name| “J#{name}” } JString.new(‘heh’) 3.java调用ruby Implement Java interfaces from Ruby include_class “com.foo.MyInterface” class MyImpl < MyInterface def bar # impl of public String bar(); “hello” end end Use Ruby from Java MyInterface mine = (MyInterface) BSF.eval(“MyImpl.new”); mine.bar(); => “hello” 4.还有几个ppt上介绍的特性 JDBC activerecord adapter Deployment to Java servers an easier sell Possibilities to talk straight to Java services JRuby plans on supporting Rails around the end of this summer 就不知道是祸是福了 |
|
返回顶楼 | |
发表时间:2007-03-07
关于JRuby 0.9.8的性能:
在headius的blog里,是这样说的: 1、JRuby解释模式下运行,比ruby1.8慢3到4倍; 2、JRuby编译模式下运行,比ruby1.8快1.5到2倍。 目前,编译模式(编译成JVM的Bytecode)还有许多工作要完成,并且希望在几周内让JIT完全跑起来。届时希望能有较好的结果。 |
|
返回顶楼 | |
发表时间:2007-03-07
用Java重写Ruby解释器的话速度是上不去的.而编译的方式大有前途.昨天修正了几个小毛病之后,XRuby (ruby to java bytecode compiler)在大多数情况下运行ruby 1.9的benchmark已经比ruby 1.8.5快了很多,而且速度提升的潜力非常大(我们基本还没有做过优化,连method cache都没有).
凭JRuby的资源,在年底左右重写出一个编译器应该不成问题,到时候速度也会上去. http://xruby.blogspot.com/2007/03/xruby-runs-most-benchmark-faster-than.html |
|
返回顶楼 | |
发表时间:2007-03-08
![]() |
|
返回顶楼 | |
发表时间:2007-03-08
Ruby作为脚本语言,其优势就在于解释性,需要的时候,载入进来运行一下,作为脚本,也可能是需要动态修改的,编译了之后就失去了动态修改->解释的好处了吧
|
|
返回顶楼 | |
发表时间:2007-03-08
Rubinius更有前途
|
|
返回顶楼 | |
发表时间:2007-03-08
变化太快了,都可以编译了。
|
|
返回顶楼 | |
发表时间:2007-03-09
把Ruby编译成java字节码不会改变任何Ruby的动态语言特性.因为我们不是把Ruby的方法和类直接影射到到对应的Java概念.
感兴趣的话可以参见: http://code.google.com/p/xruby/wiki/XRubyHackingGuide |
|
返回顶楼 | |