首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 3.2 - haml vs. erbhaml更快吗?(2012年2月)

Rails 3.2 - haml vs. erbhaml更快吗?(2012年2月)
EN

Stack Overflow用户
提问于 2012-02-12 10:14:28
回答 2查看 4.4K关注 0票数 13

我正在做一个项目,我仍然在考虑使用HAML (漂亮的代码,较小的视图文件)而不是经典的ERB模板。

我担心的是生成视图的速度-我读了一篇文章/基准,几乎总是HAML比ERB慢-但事实是,这些文章已经有2-3年的历史了。

因此,我的问题是,在2012年初,这两个模板系统的比较情况如何?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-12 15:03:28

以下是来自Nov 2011的一些基准测试。您应该能够cd到您的haml目录并运行rake benchmark。我之所以说“应该”,是因为您需要安装适当的依赖项才能运行该任务。我玩了几分钟,但在当地没有运气。相关文件为haml/test/benchmark.rb

编辑:我确实为你找到了更多的信息。其他人遇到了和我一样的问题,试图让基准在本地工作,所以他们自己滚动了。我继承了这个要点,并添加了对将haml与erb:https://gist.github.com/1807036进行比较的支持。我使用的模板与haml库用于基准测试的模板相同。下面是我运行代码得到的结果:

代码语言:javascript
复制
$ ruby benchmark.rb
       user     system      total        real
haml:  0.650000   0.000000   0.650000 (  0.651584)
erb:  0.540000   0.000000   0.540000 (  0.534727)

我用的是ruby 1.9.3-p0,haml 3.1.4。

2020年5月更新: github上的@spickermann指出了基准测试中的一个缺陷,因为将haml与erb进行比较是不公平的。haml引擎实例仅被实例化一次,而erb实例在1000次基准测试中的每一次都被实例化。当我们修复基准测试,以便在每次基准测试运行时实例化每个实例时,我们会得到非常不同的结果:

代码语言:javascript
复制
$ ruby benchmark.rb 
       user     system      total        real
haml:  3.259634   0.007936   3.267570 (  3.271728)
erb:  0.205065   0.000571   0.205636 (  0.205824)

这个新的基准测试使用ruby 2.7.1,haml 5.1.2。要点也已更新。

票数 16
EN

Stack Overflow用户

发布于 2013-08-28 19:14:40

网上已经有一堆辩论记录在案了。

但是当我们有一个专门使用ERB的应用程序时。为什么我们要尝试切换到HAML?对我来说,这是浪费时间,是一个不会带来很多好处的糟糕决定。虽然我们的代码在HAML中会突然变得更干净、更漂亮,但我们会浪费宝贵的时间将ERB转换为HAML。我们还有许多其他重要的事情要做,为什么要把时间浪费在这种情况下毫无意义的事情上呢?

它们都是相对的。您不需要使用HAML而不是ERB。ERB可以做所有相同的事情。它们只是完成相同工作的不同工具。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9245854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档