我非常热衷于开发我的第一个Ruby应用程序,因为我的公司最终在内部祝福它的使用。

在我所读到的关于Ruby达到v1.8的所有内容中,从来没有任何关于性能的正面评价,但我对1.9版本一无所知。 我看到的最后一个数字大约1.8,它比那里的所有东西都要快得多,所以我希望这在1.9中得到解决。

性能是否有显着改善? 是否有一些具体的事情可以通过Ruby应用程序(或要避免的事情)来完成,以保持性能达到最佳水平?

===============>>#1 票数:8

http://www.rubychan.de/share/yarv_speedups.html上有一些1.8对1.9的基准测试。 总的来说,在大多数情况下,1.9看起来要快得多。

===============>>#2 票数:4

如果可伸缩性和性能对您非常重要,您还可以查看Ruby Enterprise Edition 这是Ruby解释器的自定义实现,它应该在内存分配和垃圾收集方面做得更好。 我没有看到任何客观指标直接与JRuby进行比较,但我听到的所有非常好的证据都非常好。

这是来自创建Passenger(aka mod_rails)的同一家公司,如果您决定不使用JRuby路线,那么您绝对应该将其作为rails部署解决方案。

===============>>#3 票数:2

Matz ruby​​ 1.8.6在性能方面要慢得多,1.9和JRuby很快就能加快速度。 但性能并不能阻止您在Web应用程序中执行任何操作。 有许多大型Ruby on Rails站点可以使用“慢速解释”语言。 当您扩展Web应用程序时,除了您编写语言的速度之外,还有许多紧迫的性能问题。

===============>>#4 票数:1

关于JVM实现,JRuby,我实际上听到了非常好的表现。 完全轶事,但也许值得研究。

另见http://en.wikipedia.org/wiki/JRuby#Performance

===============>>#5 票数:0

查看Addison Wesley Professional的“编写高效的Ruby代码”:

http://safari.oreilly.com/9780321540034

我在这篇简短的工作中找到了一些非常有用和有趣的见解。 如果您注册免费的10天试用版,您可以免费阅读。 (这是50页,试用版给你(AFAIR)100页浏览量。)

https://ssl.safaribooksonline.com/promo

===============>>#6 票数:0

我不是Ruby程序员,但我最近已经非常密切地参与了JRuby部署,因此可以得出一些结论。 不要期望JRuby的表现太多。 在解释模式下,它似乎在C Ruby的范围内。 JIT模式可能更快,但仅在理论上。 实际上,我们在Glassfish上尝试了JIT模式,在中型服务器(双核,8GB RAM)上使用了相当大的Rails应用程序。 而事实是,在JITting花了这么freakingly多的时间,服务器需要20-30分钟才回答的第一个请求。 内存使用是天文数字,分析不起作用,因为整个系统通过附加的分析器停止研磨。

底线:JRuby有它的优点(多线程,可靠的平台,简单的Java集成),但鉴于解释模式是我们在实践中唯一有效的模式,它可能会比C Ruby没有更好的性能。

===============>>#7 票数:-1

我是第二个使用Passenger的建议 - 它使Rails应用程序的部署和管理变得微不足道

  ask by Steve M translate from so

未解决问题?本站智能推荐:

2回复

Ruby 1.9比Ruby 1.8慢?

我有一个Rails 2.3.8应用程序,其动作可以从数据库中提取大量数据,并使用300-600个部分进行渲染(递归渲染树型结构)。 对一个请求进行基准测试可以使我的响应时间大约为7秒。 我认为将我的Ruby版本从1.8升级到1.9会给我带来性能提升,但是当我对1.9版本进行基准测试时,我
3回复

Ruby散列排列

有没有快速的方法来获得给定哈希的(随机)排列? 例如,对于数组,我可以使用示例方法 对于哈希,我可以在哈希键上使用相同的方法并使用 但这太丑了。 哈希是否有任何“样本”方法可以避免所有代码? 更新正如@Michael Kohl在评论中所指出的,这个问题仅对ruby 1.
2回复

杂种与Ruby 1.9

启动服务器时,在更新到Ruby 1.9后出现以下奇怪错误: “ rb_gc()ruby 1.8.6(2008-08-11)[i386-mswin32]上的[BUG]跨线程冲突 该应用程序已请求运行时以一种异常方式终止它。 有关更多信息,请联系应用程序的支持团队。 “ 我的杂
3回复

JRuby和Ruby 1.9

我知道这方面正在进行中,但是JRUby 1.3与Ruby 1.9.1的兼容性的确切状态是什么? 如果我可以dwnload jruby 1.3并开始使用ruby 1.9安装,我会有些困惑。 JRuby主页上说:*现在与Ruby 1.8.6兼容*即将与Ruby 1.9兼容 维基百科说:
4回复

Ruby 1.8和Ruby 1.9有什么区别

我不清楚“当前”版本的Ruby(1.8)和“新”版本(1.9)之间的差异。 是否存在对这些差异的“简单”或“简单”解释以及为何如此不同?
1回复

Netbeans项目设置Ruby

我是Ruby的新手,它是如何建立项目的。 我正在使用Netbeans IDE,并且在GUI中有一个“源文件夹”,但是它位于~/NetBeansWorkspace/ProjectName/lib而不是src文件夹。 这是Ruby中的约定吗? 如果不是,我如何让Netbeans将文件放在src
1回复

Ruby 1.9.2发生了什么?

我已经看到Ruby 1.9.2没有更新。 (仅适用于Ruby 1.9.3和2.0)。 我的问题是:1.9.2发生了什么? 如果1.9.3和1.9.2是不同的分支,或者1.9.3是续集,并且我的1.9.2应用程序可以与1.9.3一起正常使用,我会感到困惑。
1回复

带有特殊字符的Ruby 1.9

我有很多这样的代码行: 它在ruby ree-1.8中,但是我可以将其更改为1.9,但是我遇到了这个错误: 当我删除“ť”和其他特殊字符(ľščťžýáí...)时,可以,但是我需要这些字符。
1回复

ruby1.9,rails和$ SAFE = 1

尝试使用$ SAFE = 1(只想在drb服务器中进行一些处理)会使rails无法使用:它无法加载某些路径,从DB恢复的数据被污染,等等。例如: 它只是无法加载user.rb文件 如果我尝试在设置路径之前执行User.first(因此文件已经加载),它可以工作,但是由于其他来自Ac
2回复

停止分布式Ruby服务

我有一个启动DRb服务的脚本,然后生成一个处理程序对象并通过DRb.thread.join等待。 我想脚本运行直到明确杀死,所以我补充说 它成功地停止了DRb服务并在Ruby 1.8下退出,但在1.9下似乎死锁(在OS X 10.6.7上)。 对该过程进行采样显示了一些在semaph