分享 Is Rails Slow? by Akira Matsuda

Rei · 发布于 2014年11月08日 · 最后由 i5ting 回复于 2014年11月20日 · 6737 次阅读
1
本帖已被设为精华帖!
共收到 32 条回复
1553
Peter · #1 · 2014年11月08日 1 个赞

我的结论就是用 erb

3253
cisolarix · #3 · 2014年11月08日

以色列

9442
flowerwrong · #4 · 2014年11月08日

#1楼 @Peter 能云一份不? 云梯连不上.

5
mimosa · #5 · 2014年11月08日
9442
flowerwrong · #7 · 2014年11月08日
8楼 已删除
314
kayakjiang · #9 · 2014年11月08日

同样都是用 haml,为什么 sinatra 要快这么多呢?

515
kewin · #10 · 2014年11月08日

另外附上 这个PPT 下面的链接 https://speakerdeck.com/sferik/writing-fast-ruby

871
naitnix · #11 · 2014年11月08日

路由也是很耗时的

4151
themorecolor · #12 · 2014年11月09日

涨姿势

3454
xwf286 · #13 · 2014年11月09日

好东西!!!

165
kenshin54 · #14 · 2014年11月09日

url_helper 在哪里都是杀手,写 Flask 有感。。。

4933
realwol · #15 · 2014年11月09日

感觉跟sinatra比较是不是有点局限在ruby范围内了,有没有跟别的语言对比的,比如phalcon之类的。

1
Rei · #16 · 2014年11月09日

#15楼 @realwol 那么标题就要换 Is Ruby Slow? 了

4933
realwol · #17 · 2014年11月09日

#16楼 @Rei 一个语言的框架有快有慢,就只从框架横向比较一下,或许对框架选择这来说更加有价值。

4933
realwol · #19 · 2014年11月09日

#18楼 @Rei cool

4933
realwol · #20 · 2014年11月09日

#18楼 @Rei 如果这些比较能跟ppt里的比较一样详细点,那就完美了。

21楼 已删除
22楼 已删除
23楼 已删除
4594
grantbb · #24 · 2014年11月09日

如果还是想用简洁的模板语言,前端页面开发人员也能接受,slim还是不错的选择。如果团队不喜欢slim,就用erb。 这有比较新的模板性能的比较: http://sephinrothcn.wordpress.com/2014/04/14/slim-vs-haml-performance-perspective/

9442
flowerwrong · #25 · 2014年11月09日 1 个赞

Akira Matsuda

黄家驹

11577
sickate · #26 · 2014年11月10日

#18楼 @Rei 这个网站给我的感觉就是“好的好的我知道ruby最慢了”

1
Rei · #27 · 2014年11月10日

#26楼 @sickate 看来需要考古了,我本来以此为共识发这个话题的:

https://ruby-china.org/topics/9825 https://ruby-china.org/topics/9853

1
Rei · #28 · 2014年11月10日

#20楼 @realwol 如果详细比较,就会发现这些比较对象不是一个层面的东西,越往上,开发者要做的东西就越多,例如 http 头都要自己设置,而越往下内置的功能越多,例如 session 、路由、跨站预防…… hello world 跑分不是衡量工具选择的唯一标准。

不过这个测试还是挺有用的,至少是一个参考因素。

11577
sickate · #29 · 2014年11月10日

#27楼 @Rei 这些贴我也看过。确实这些比较的框架并不适合放在一起比。但他这样比了,这个结果就给人一种“ruby弱爆”的感觉不是么

8805
shangrenzhidao · #30 · 2014年11月12日

为什么要和 Sinatra 对比?

31楼 已删除
2
huacnlee · #32 · 2014年11月12日 2 个赞

Rails 慢的地方应该是在模板渲染上面,这次我们的项目(酷盘)大量都是前端渲染,Rails 提供 JSON,正常的数据场景时间在 20~60ms 左右(Ruby China 的场景 100~200ms)

3679
xiaohuxu · #33 · 2014年11月12日

#32楼 @huacnlee 前端你们用的什么模板?

5597
onemagicant · #34 · 2014年11月13日

#32楼 @huacnlee 套娃就会好多了

96
jayliud · #35 · 2014年11月15日

#32楼 @huacnlee ajax来请求rails json api吗?那一个复杂的页面,是否需要N个ajax请求获取各自所需json再拼接出页面,这样渲染出的页面会不会很奇怪呢?(比如页面某块显示很快,其它块则一直loading)

4087
robbin · #36 · 2014年11月18日 4 个赞

这个slide做的测试过于简单了,没什么参考价值,这么简单的hello world级别测试很多性能差异是对比不出来的,连起码的数据库访问代码都没有,而且没有并发测试。我自己写过复杂一些的项目,并发测试对比sinatra和rails,性能差异还是挺大的,大约将近1倍(不涉及template页面渲染)。

此外代码执行速度只是性能测试的一个方面而已,还要看进程的内存占用情况,CPU波动等等。Rails的进程占用内存是远高于Sinatra的。

在我看来,现在Ruby的性能已经足够好了,除非对高IO并发要求很高的应用场景,都是没有什么问题的。而Rails的问题在于:默认使用的情况下,性能是相当差的,内存占用是相当高的。你确实可以通过各种优化和定制的手段达到接近理想的性能,但是需要你对Rails很了解,而Rails本身的体系是越来越庞大,真正要搞得那么清楚很费事,那我何必不用更简单的框架呢,要费那么多事呢?

5173
i5ting · #37 · 2014年11月20日

想简单用node,想坑死的也用node

node 你值得死的拥有
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册