代码之家  ›  专栏  ›  技术社区  ›  Mongus Pong

不编译的原因

  •  0
  • Mongus Pong  · 技术社区  · 15 年前

    由于有了一个Ruby项目,我一直对使用Ruby的决定表示怀疑,因为它的性能。

    我很兴奋地发现JRube与其Java集成。这使我的项目大大简化了。现在我完全被挠得更厉害,发现JRuby可以 compiled down to Java bytecode .

    基准数据如下:

    fib(30)红宝石:1.67s

    FIB(30)JRuby Interp(客户端虚拟机):3.93S

    FIB(30)JRuby Interp(服务器虚拟机):2.28s到2.08s

    FIB(30)JRuby编译(客户机VM):1.89s到1.79s

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

    我现在对我们选择JRuby感到非常兴奋。您不为生产版本编译有什么缺点或原因吗?

    2 回复  |  直到 15 年前
        1
  •  1
  •   ewall    15 年前

    分发和安装将使我更容易做出决定:作为一个系统管理员,我宁愿只分发一个可以在许多JRE上运行的.jar文件,也不必分发一个工作的JRuby实例(例如,对于不同的操作系统,这是不同的)。 我的源代码。另外,您已经演示了AOT编译的代码比解释的/JIT快,因此更需要分发编译的版本。

        2
  •  0
  •   Will    15 年前

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

    跑起来不那么快,但这通常不是一个大的减号。它的速度足以满足大多数工作负载,甚至大型网站。

    这个决定不应该基于运行时的速度——除非你有统计数据表明人们对性能不满意——而是基于部署的简单性。

    如果Ruby应用程序的部署是由您的前任完成的,那么请保留Ruby。

    如果部署到JVM更容易,那么就这样做。

    推荐文章