Python web
开发:几个模板系统的性能对比
对比目标,
jinja2
,
cheetah
,
mako
,
webpy
,
bottle
,
tornado
,
django
的性能。
方法,
随机生成一个二维数组,
第一列是自增数据,第二列是长度为
100
的随机字符串,然
后生成
html
,比较一次生成的时间。
说明,如果模板有编译缓存,打开。有其他方法加速,打开。生成缓存,关闭。不计算随机
数据生成时间,一次生成后一直使用。
以下是文件有效内容,
没用的都略去了。
最后的顺序是因为我根据结果整理了一下调用
次序。
—–
testcheetah.tmpl
—–
#for $i in $l
#end for
$i[0]
$i[1]
—–
testdjango.html
—–
{% for i in l %}
{% endfor %}
{{ i.0 }}
{{ i.1 }}
—–
testjinja2.html
—–
{% for i in l %}
{% endfor %}
{{ i[0] }}
{{ i[1] }}
—–
testmako.html
—–
% for i in l:
% endfor
${i[0]}
${i[1]}
—–
testwebpy.html
—–
$def with(l)
$for i in l:
$i[0]
$i[1]
—–
tmpl.py
—–
#!/usr/bin/python
# -
﹡
- coding: utf-8 -
﹡
-
‖‘
@date: 2011-11-03
@author: shell.xu
‖‘
import os, random, string, timeit
testdata = []
def init_testdata():