alrond
Янв. 29, 2007 11:40:18
j2a
Янв. 29, 2007 16:05:51
Насколько плохо я знаю TG, но даже мне видно, что в TG-проекте лишние импорты:
# import logging
# import cherrypy
# import turbogears
# from turbogears import controllers, expose, validate, redirect
# from tg import json
### вместо это пачки импортов достаточно было бы
from turbogears import controllers, expose
### хм, еще и лог бы отключить
# log = logging.getLogger(“tg.controllers”)
class Root(controllers.RootController):
@expose(template=“tg.templates.world”)
def index(self):
return dict(tg_flash=“Hello, world!”)
и шаблон наследуется от sitetemplate.
В то время как в Django проекте оставлены только нужные импорты, ну и шаблон as is, без наследственности.
upd: посмотрел разницу в производительности…. конечно, _такая_ разница это серъезно. Вряд ли из-за лишних импортов (а вот наследование kid может сильно тормознуть - kid сам по себе не слишком быстрый)
pythonwin
Янв. 31, 2007 08:55:47
j2a
(а вот наследование kid может сильно тормознуть - kid сам по себе не слишком быстрый)
а есть более быстрый чем kid и вто же время довольно удобный?
j2a
Янв. 31, 2007 13:46:42
Да все xml-шаблоны тормозные. Ну genshi может чуть быстрей…
upd. вот кратенько (взято с
http://www.makotemplates.org/):Mako: 1.10 ms
Myghty: 4.52 ms
Cheetah: 1.10 ms
Genshi: 11.46 ms
Django: 2.74 ms
Kid: 14.54 ms
pythonwin
Янв. 31, 2007 14:08:08
j2a, спасибо!
Cheetah:1.10 ms
=> Cheetah шустрый шаблон?
j2a
Фев. 1, 2007 08:15:14
afair, cheetah-шаблон компилируется в .py, а тот уже в .pyc. Так что или .py, или .pyc
pythonwin
Фев. 1, 2007 11:28:27
j2a
если скомпилирован
т.е. получается, для проверки производительности фреймворка нужно протестировать его с разными шаблонами (Cheetah, Genshi, Django, Kid и т.д.)?
=> тест в этом плане не точный?
j2a
Фев. 1, 2007 19:20:44
Методика тестирования вообще достаточно проблематичная вещь для *любых* тестов. Физики просто об этом знают чуть лучше других :) Еще погрешности всякие :D