2006-11-06
Need for Speed
关键字: erb 渲染
Erb的渲染一直有人说慢,而c版本的eruby始终没有和Rails整合起来。终于一个东东横空出世了:Erubis, 宣称有Erb3倍的速度并和eruby比肩,而且还是纯ruby的。
安装很傻瓜:
1.安装gem
2.然后在application.rb里加些整合代码(Erubis是独立于Rails的):
*放到enivronment.rb里也有效果的
被注释的是些默认设置除非你想改
3.最后把rhtml后缀改成erubis
4.另外layout里如果用yield的得改成老式的@content_for_layout :(
我随便找了个稍微复杂点的页面,发现大概提速50%,满意了。
更多细节参见Erubis主页
竟然还有java版本。。。
安装很傻瓜:
1.安装gem
gem install erubis
2.然后在application.rb里加些整合代码(Erubis是独立于Rails的):
*放到enivronment.rb里也有效果的
require 'erubis/helper/rails'
suffix = 'erubis'
ActionView::Base.register_template_handler(suffix, Erubis::Helper::RailsTemplate)
#Erubis::Helper::RailsTemplate.engine_class = Erubis::EscapedEruby ## or Erubis::PI::Eruby
#Erubis::Helper::RailsTemplate.default_properties = { :escape=>true, :escapefunc=>'h' }
被注释的是些默认设置除非你想改
3.最后把rhtml后缀改成erubis
4.另外layout里如果用yield的得改成老式的@content_for_layout :(
我随便找了个稍微复杂点的页面,发现大概提速50%,满意了。
更多细节参见Erubis主页
竟然还有java版本。。。
评论
jack
2006-11-06
robbin 写道
等有空的时候测试一下再说。其实现在ruby在服务器上执行效率还可以,瓶颈都在数据库端,优化erb不会有多少改善。
ror的数据库操作优化的确是一个问题,select一条记录的语句真是超多。
cookoo
2006-11-06
qiezi 写道
为什么是加在application.rb里呢?controllers里的那个?感觉会不会有点怪异?一般这类设置是放在environment.rb里吧。
被你这么一说我去看了一下代码,没什么特别插入到controller的东西。我试了下挪到environment.rb里也是一样生效的。作者有三个地方都这么写,我写信去问问吧。
robbin
2006-11-06
等有空的时候测试一下再说。其实现在ruby在服务器上执行效率还可以,瓶颈都在数据库端,优化erb不会有多少改善。
qiezi
2006-11-06
为什么是加在application.rb里呢?controllers里的那个?感觉会不会有点怪异?一般这类设置是放在environment.rb里吧。
jack
2006-11-06
好消息,嘿嘿这下子,代码烂点也没事了。robbin能不能测试下实际使用效果?
不过提升速度,总是有些代价的,估计cpu消耗应该大不少。
不过提升速度,总是有些代价的,估计cpu消耗应该大不少。
- 浏览: 326185 次
- 性别:

- 来自: Montreal

- 详细资料
搜索本博客
我的相册
20059805856241
共 10 张
共 10 张
最新评论
-
Darcs简介
good 3x
-- by 夜鸣猪 -
Pratical Ocaml作者采访
现在主要用F#分析数据,因为比较舒服(人懒啊)。其实也只用到很少的FP特性,Ru ...
-- by cookoo -
Pratical Ocaml作者采访
一年多了,呵呵,cookoo能说说看,学习使用OCaml的进展和体会吗?
-- by billgui -
Memory - 柿岛伸次
还不错啊。
-- by hazzy -
Memory - 柿岛伸次
我很想下这个,可就是不能下。LZ能否提供链接
-- by yeshucheng






评论排行榜