不编译的原因

时间:2010-01-20 12:34:40

标签: jruby compiled

在获得Ruby项目后,我一直怀疑因性能而决定使用Ruby。

我很高兴发现JRuby的Java集成。这使我的项目变得更加容易。现在我发现JRuby可以是compiled down to Java bytecode,我已经完全被发现了。

基准数据如下:

  

fib(30)Ruby:1.67s

     

fib(30)JRuby interp(客户端VM):3.93s

     

fib(30)JRuby interp(服务器VM):2.28s到2.08s

     

fib(30)JRuby编译(客户端VM):1.89s到1.79s

     

fib(30)JRuby编译(服务器VM):1.66s到0.86s

我现在对我们在这里选择JRuby感到非常兴奋。是否有任何缺点或原因导致您无法为生产版本进行编译?

2 个答案:

答案 0 :(得分:1)

分发和安装会让我更轻松地做出决定:作为一个系统管理员,我更愿意分发一个可以在许多JRE上运行的.JAR文件,而不是分发一个工作的JRuby实例(不同的不同)操作系统,例如)我的源代码。另外,您已经证明AOT编译的代码比解释的/ JIT更快,因此更有理由分发编译版本。

答案 1 :(得分:0)

Ruby开发速度非常快(如果你熟悉它的风格)。

跑步不是那么快,但这通常不是一个很大的减号。它足够快,适用于大多数工作负载,甚至是大型网站。

决定不应该基于运行时速度 - 除非您有统计数据表明人们对性能不满意,而是易于部署。

如果您的前任已经实现了Ruby应用程序的部署,那么请保留Ruby。

如果更容易部署到JVM,请使用它。