Rails 3.2 - хамл против эрб. Хамл быстрее? (февраль 2012) - PullRequest
13 голосов
/ 12 февраля 2012

Я работаю над проектом и все еще думаю о том, чтобы использовать HAML (красивый код, меньший размер файлов для просмотра) вместо классического шаблона ERB.скорость генерации просмотров - я читал статьи / тесты, и почти всегда HAML был медленнее, чем ERB - но правда в том, что статьям 2-3 года.Сравнение этих двух шаблонных систем сейчас, в начале 2012 года?

Ответы [ 2 ]

16 голосов
/ 12 февраля 2012

Вот несколько тестов от кого-то за ноябрь 2011 .Вы должны иметь возможность перейти в вашу директорию 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.

2 голосов
/ 28 августа 2013

В сети уже задокументировано множество дебатов.

Но когда у нас есть приложение, в котором мы использовали исключительно ERB. Почему мы должны пытаться переключиться на HAML? Для меня это пустая трата времени и плохое решение, которое не принесло бы много пользы. Хотя наш код внезапно станет чище и немного красивее в HAML, мы тратим драгоценные часы на преобразование ERB в HAML. У нас так много других важных дел, зачем тратить это время на что-то столь бессмысленное в этом случае?

Это все относительно. Вам не нужно использовать HAML вместо ERB. ERB может делать все то же самое. Это просто разные инструменты для одной и той же работы.

...