首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python最快的模板系统是什么?

Python最快的模板系统是什么?
EN

Stack Overflow用户
提问于 2009-08-24 19:28:00
回答 4查看 30.4K关注 0票数 53

Jinja2和Mako显然都很快。

这些与(功能较少,但对我正在做的事情来说可能足够好) string.Template相比如何?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-08-25 05:28:49

下面是用于呈现10x1000 HTML表的常用模板引擎的结果。

代码语言:javascript
复制
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

该基准基于code from Spitfire performance tests,并添加了一些模板引擎和迭代以提高准确性。列表和末尾的生成器连接是手工编写的Python代码,以了解通过编译为Python字节码可以达到的性能上限。优化版本在内部循环中使用字符串插值。

但是在你跑出来切换你的模板引擎之前,要确保它是重要的。在编译模板引擎之间的差异开始变得重要之前,您需要执行一些非常繁重的缓存和真正优化的代码。对于大多数应用程序来说,良好的抽象工具、与设计工具的兼容性、熟悉性和其他因素更重要。

票数 103
EN

Stack Overflow用户

发布于 2009-11-09 08:16:01

如果您可以混合使用缓存(如memcached),那么可以根据特性和易用性进行选择,而不是优化。

我使用Mako是因为我喜欢它的语法和特性。幸运的是,它也是最快的之一。

票数 3
EN

Stack Overflow用户

发布于 2009-08-24 20:19:23

通常,您必须进行分析才能回答这个问题,因为这取决于您如何使用模板以及模板的用途。

string.Template是最快的,但如此原始,以至于几乎不能与其他模板系统相提并论,因为它只进行字符串替换,并且没有条件或循环,这使得它在实践中非常无用。

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

https://stackoverflow.com/questions/1324238

复制
相关文章

相似问题

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