声明:JavaEye新闻文章的版权属于JavaEye网站所有,严禁任何网站转载本文,否则必将追究法律责任!
这个星期我使用charlie(一个遗传算法库)和重写的TSP范例来测试Ruby1.8, Ruby 1.9, JRuby和Rubinius(Ruby虚拟机)。测试结果让人吃惊,数据如下:
Ruby 1.8 (MRI):
$ time ruby tsp_solver.rb
real 0m34.940s
user 0m34.398s
sys 0m0.125s
Ruby 1.9 :
$ time ruby19 tsp_solver.rb
real 0m21.533s
user 0m20.736s
sys 0m0.119s
Let's move to the alternatives now.
First JRuby 1.1:
$ time jruby tsp_solver.rb
real 0m57.815s
user 0m48.651s
sys 0m0.751s
JRuby 1.1 with -J-server flag:
$ time jruby -J-server tsp_solver.rb
real 0m34.834s
user 0m37.714s
sys 0m0.667s
And finally Rubinius:
$ time rbx tsp_solver.rb
real 12m29.830s
user 12m20.105s
sys 0m4.219s
我本来以为Ruby 1.8会很慢,没想到Ruby 1.8速度仅次于Ruby 1.9,而Rubinius的速度是最慢的,考虑到它是一个虚拟机,而且这是一个很新的项目,这意味着未来还有很大的成长空间。
我使用的机器是:MacBook Pro with 2.2GHz Intel Core 2 Duo and 2GB Ram running Mac OS X Leopard 10.5.2。测试代码tsp_solver.rb,需要安装charlie gem。不用把这次测试当作正式的性能选择依据,可以大概了解一下ruby不同版本的运行速度。
下面是RVMs versions:
* $ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [universal-darwin9.0]
* rbx -v
rubinius 0.8.0 (ruby 1.8.6 compatible) (bbe450f22) (04/15/2008) [i686-apple-darwin9.2.2]
* $ ruby19 -v
ruby 1.9.0 (2007-12-25 revision 14709) [i686-darwin9.2.2]
* $ jruby -v
ruby 1.8.6 (2008-03-28 rev 6360) [i386-jruby1.1]
And: $ java -version
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)
Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)
Ruby 1.8 (MRI):
$ time ruby tsp_solver.rb
real 0m34.940s
user 0m34.398s
sys 0m0.125s
Ruby 1.9 :
$ time ruby19 tsp_solver.rb
real 0m21.533s
user 0m20.736s
sys 0m0.119s
Let's move to the alternatives now.
First JRuby 1.1:
$ time jruby tsp_solver.rb
real 0m57.815s
user 0m48.651s
sys 0m0.751s
JRuby 1.1 with -J-server flag:
$ time jruby -J-server tsp_solver.rb
real 0m34.834s
user 0m37.714s
sys 0m0.667s
And finally Rubinius:
$ time rbx tsp_solver.rb
real 12m29.830s
user 12m20.105s
sys 0m4.219s
我本来以为Ruby 1.8会很慢,没想到Ruby 1.8速度仅次于Ruby 1.9,而Rubinius的速度是最慢的,考虑到它是一个虚拟机,而且这是一个很新的项目,这意味着未来还有很大的成长空间。
我使用的机器是:MacBook Pro with 2.2GHz Intel Core 2 Duo and 2GB Ram running Mac OS X Leopard 10.5.2。测试代码tsp_solver.rb,需要安装charlie gem。不用把这次测试当作正式的性能选择依据,可以大概了解一下ruby不同版本的运行速度。
下面是RVMs versions:
* $ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [universal-darwin9.0]
* rbx -v
rubinius 0.8.0 (ruby 1.8.6 compatible) (bbe450f22) (04/15/2008) [i686-apple-darwin9.2.2]
* $ ruby19 -v
ruby 1.9.0 (2007-12-25 revision 14709) [i686-darwin9.2.2]
* $ jruby -v
ruby 1.8.6 (2008-03-28 rev 6360) [i386-jruby1.1]
And: $ java -version
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)
Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)
来自:nikos-d.blogspot.com


评论 共 5 条 发表评论
withyou 2008-04-28 09:12
dennis_zane 2008-04-28 09:07
caoyi1983 2008-04-27 11:27
caoyi1983 2008-04-27 11:26
caoyi1983 2008-04-27 11:23
JRuby 1.1 with -J-server flag 意思是运行时添加 -server 参数么?我们都知道java运行的效率主要看虚拟机,如果使用1.6版本的虚拟机怎么样呢?bea和ibm的怎么样呢?