Ответ 1
Вот результаты популярных движков шаблонов для отображения таблицы HTML 10x1000.
Python 2.6.2 on a 3GHz Intel Core 2
Kid template 696.89 ms
Kid template + cElementTree 649.88 ms
Genshi template + tag builder 431.01 ms
Genshi tag builder 389.39 ms
Django template 352.68 ms
Genshi template 266.35 ms
ElementTree 180.06 ms
cElementTree 107.85 ms
StringIO 41.48 ms
Jinja 2 36.38 ms
Cheetah template 34.66 ms
Mako Template 29.06 ms
Spitfire template 21.80 ms
Tenjin 18.39 ms
Spitfire template -O1 11.86 ms
cStringIO 5.80 ms
Spitfire template -O3 4.91 ms
Spitfire template -O2 4.82 ms
generator concat 4.06 ms
list concat 3.99 ms
generator concat optimized 2.84 ms
list concat optimized 2.62 ms
Тест основан на код из тестов производительности Spitfire с некоторыми добавленными двигателями шаблонов и добавленными итерациями для повышения точности. Список и генератор concat в конце представляют собой ручной код Python, чтобы получить представление о верхнем пределе производительности, достигаемом путем компиляции в байт-код Python. Оптимизированные версии используют интерполяцию строк во внутреннем цикле.
Но прежде чем вы закончите, чтобы переключить механизм шаблонов, убедитесь, что это имеет значение. Вам нужно будет сделать довольно тяжелое кэширование и действительно оптимизированный код до того, как различия между компиляционными машинами шаблонов начнут иметь значение. Для большинства приложений хорошие абстракции, совместимость с инструментами проектирования, знакомство и другие вещи имеют гораздо большее значение.