0

在加入一个 Ruby 项目后,由于性能问题,我一直对使用 Ruby 的决定持怀疑态度。

我很高兴发现 JRuby 与它的 Java 集成。这使我的项目变得非常容易。现在我发现 JRuby 可以编译成 Java 字节码,这让我更加兴奋了。

像这样的基准数据:

fib(30) 红宝石:1.67 秒

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 编译(服务器虚拟机):1.66s 到 0.86s

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

4

2 回答 2

1

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

于 2010-01-20T15:45:35.323 回答
0

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

它的运行速度不是那么快,但这通常不是一个大的减号。对于大多数工作负载,甚至是大型网站,它的速度都足够快。

这个决定不应该基于运行速度——除非你有统计数据说人们应该对性能不满意——而是部署的容易程度。

如果你的前辈已经实现了 Ruby 应用程序的部署,那就保留 Ruby。

如果部署到 JVM 更容易,那就去吧。

于 2010-01-20T12:47:41.850 回答