Rails 3.2 – haml vs. erb。 haml更快吗? (2012年2月)

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

我担心为什么我没有这样做是产生观点的速度 – 我读了一篇文章/基准,而且几乎总是HAML比ERB慢 – 但事实是,文章是2 – 3年。

所以我的问题是,在2012年初,如何看待这两个模板系统的比较?

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

编辑:我确实为您找到了更多信息。 其他人遇到的麻烦与我试图让基准测试在本地工作一样,所以他们自己动手。 我分享了这个要点并添加了对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。

网上已经记录了很多争论。

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

这都是相对的。 您不需要使用HAML而不是ERB。 再培训局可以做同样的事情。 它们只是同一工作的不同工具。