JRuby和Ruby性能简单对比 - ian-michael

     听说Ruby性能有待改进,Java平台上的Ruby又如何呢?于是写了个简单程序测试了一把。结论是, JRuby比Ruby强多了。

    这个测试不算太全面,但也足以说明问题了。PS: 我是在Windows 7 64位上测试的。

    ruby&jruby 版本:

ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

 

jruby 1.7.12 (1.9.3p392) 2014-04-15 643e292 on Java HotSpot(TM) 64-Bit Server VM 1.7.0_51-b13  [Windows 7-amd64]

   JRuby执行1000,0000次的成绩 (毫秒,越小越好):

math 482.0
init 484.0
str 1952.0

    Ruby执行1000,0000次的成绩:

math 5090.0
init 3427.0
str 8815.0

    加法, JRuby速度是Ruby的10倍, 初始化7倍,字符串拼接4.5倍。

   附测试代码:

def test_math(times)
    t = 0
    for i in (1..times)
        t+=i
    end
end

def test_str(times)
    for i in (1..times)
        s = ""
        s = s + i.to_s
    end
end

class A
end

def test_init(times)
    for i in (1..times)
        A.new
    end
end

$test_m = Hash.new
$test_m["math"] = method(:test_math)
$test_m["str"] = method(:test_str)
$test_m["init"] = method(:test_init)

$times = ARGV[0].to_i

$test_m.each do |name, m|
        start = Time.now
        m.call($times)
        stop = Time.now
        puts "#{name} #{ (stop - start)*1000 }"
end


本文链接: JRuby和Ruby性能简单对比,转载请注明。

你可能感兴趣的:(性能,Ruby,jruby)