我正在做一个项目,我仍在考虑使用 HAML(漂亮的代码,更小的 View 文件)而不是经典的 ERB 模板。
我担心为什么我还没有这样做是产生 View 的速度 - 我阅读了一篇文章/基准,几乎总是 HAML 比 ERB 慢 - 但事实是,这些文章已经有 2-3 年的历史了。
所以我的问题是,在 2012 年初,现在这两个模板系统的比较看起来如何?
最佳答案
以下是 Nov 2011 中某人的一些基准测试.您应该能够 cd 到您的 haml 目录并运行 rake benchmark
.我说“应该”是因为您需要安装正确的依赖项才能运行该任务。我玩了几分钟,但在本地没有运气。相关文件是haml/test/benchmark.rb
.
编辑:
我确实为您找到了更多信息。其他人在尝试让基准测试在本地运行时遇到了与我相同的麻烦,因此他们推出了自己的基准测试。我 fork 了那个要点,并增加了对比较 haml 和 erb 的支持:https://gist.github.com/1807036 .我使用了 haml 库用于基准测试的相同模板。以下是我运行代码的结果:
$ 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 次基准测试中的每一次运行中都实例化。当我们修复基准测试时,我们在每次运行基准测试时实例化每个实例,我们得到非常不同的结果:
$ 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。要点也已更新。
关于ruby-on-rails - Rails 3.2 - haml 与 erb。哈姆更快吗? (2012 年 2 月),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245854/