Форум сайта python.su
TurboGears занял второе место
http://www.alrond.com/ru/2007/jan/25/rezultaty-testirovanija-6-frameworks/
Офлайн
Насколько плохо я знаю 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 сам по себе не слишком быстрый)
Отредактировано (Янв. 29, 2007 16:19:29)
Офлайн
j2aа есть более быстрый чем kid и вто же время довольно удобный?
(а вот наследование kid может сильно тормознуть - kid сам по себе не слишком быстрый)
Офлайн
Да все 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
Отредактировано (Янв. 31, 2007 13:50:19)
Офлайн
j2a, спасибо!
Cheetah:1.10 ms=> Cheetah шустрый шаблон?
Офлайн
если скомпилирован
Офлайн
j2aт.е. pyc ?
если скомпилирован
Офлайн
afair, cheetah-шаблон компилируется в .py, а тот уже в .pyc. Так что или .py, или .pyc
Офлайн
j2aт.е. получается, для проверки производительности фреймворка нужно протестировать его с разными шаблонами (Cheetah, Genshi, Django, Kid и т.д.)?
если скомпилирован
Офлайн
Методика тестирования вообще достаточно проблематичная вещь для *любых* тестов. Физики просто об этом знают чуть лучше других :) Еще погрешности всякие :D
Офлайн