Hi Anand,

Thanks for the quick reply. In my main sitemanager app what I do is use a
cookie to find out the language of the visitor, according to that cookie a
locale template path is chosen, so what I have is a hook which I then add as
a preprocessor:

+++

def render_hook():
    cookies = web.cookies(lang="en")
    lang = cookies.lang

    if lang in settings.VALID_LANGS:
        locales_path = os.path.join(settings.TEMPLATES_PATH, "%s/"%(lang))

    else:
        locales_path = os.path.join(settings.TEMPLATES_PATH,"en/")

    web.ctx.render = web.template.render(locales_path, globals={'session':
web.ctx.session})

++++

As I said the function is loaded by a preprocessor:

+++

app.add_processor(web.loadhook(render_hook))

+++

I then return the webs like this:

+++

return web.ctx.render.base(content=web.ctx.render.search(...))

+++

Perhaps there is something wrong in doing this and the preprocessor forces a
recompilation on each request?

2010/6/15 Anand Chitipothu <[email protected]>

> 2010/6/15 Emiliano Martinez Contreras <[email protected]>:
> > Hi guys,
> >
> > We've been having serious problems with the performance of a high traffic
> > site. Finally we discovered that most of the time is spent in template
> > compilation. I am using templetor and I like it a lot, I would not like
> to
> > change, moreover, given the amount of templates I have it would be a
> killer
> > to change.
> >
> > I installed python profiler and profiled the site, url visits that
> require
> > template compilation take more or less 0,4s of cpu, on the other hand
> json
> > serving for example takes only 0,01s, which is more or less coherent. I
> > would like to reduce that 0,4s and I read that compiling templetor
> templates
> > and using GAE render (I am not using GAE btw) may reduce that time by an
> > order of magnitude.
> >
> > So I've followed these instructions:
> >
> > http://webpy.org/cookbook/templates_on_gae
> >
> > The thing is that template.py compile does not produce a correct result,
> it
> > muddles up the indentation of for loops and if/else conditions inside the
> > templates, making it impossible to import the outcome due to indentation
> > erros.
> >
> > Any clue?
>
> Compiling templates should not be performance problem because it is
> done only once at the beginning. If it is recompiling the templates
> every time, then there is something wrong with your settings.
>
> What is the version of web.py that you are using? Can you provide a
> sample template that is failing?
>
> --
> You received this message because you are subscribed to the Google Groups
> "web.py" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected] <webpy%[email protected]>.
> For more options, visit this group at
> http://groups.google.com/group/webpy?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"web.py" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/webpy?hl=en.

Reply via email to