[Twisted-web] [Nevow] template performance

Manlio Perillo manlio_perillo at libero.it
Fri Dec 15 09:11:46 CST 2006

Jean-Paul Calderone ha scritto:
> On Fri, 15 Dec 2006 15:43:44 +0100, Manlio Perillo 
> <manlio_perillo at libero.it> wrote:
>> Jean-Paul Calderone ha scritto:
>>> On Fri, 15 Dec 2006 11:56:55 +0100, Manlio Perillo 
>>> <manlio_perillo at libero.it> wrote:
>>> [...]
>>>> Is it possible to use that same model used by django.template?
>>>> You pass a context (that is a dictionary usable like a stack: 
>>>> push/pop) to the render function.
>>>> All the data directive will search the data in the context (like 
>>>> djando, first dictionary lookup, then attribute lookup, and so).
>>>> As an example n:data='x.y' ==> ctx['x']['y'].
>>>> A rend.Page.renderHTTP can build a context from the instance 
>>>> dictionary.
>>> Optimization can be a complicated undertaking.
>> I'm not asking for optimization.
> You are.  You pointed out something which you thought was slow.  

Well, its a fact (unless my tests are wrong).

> You
> suggested a different way to accomplish something much the same. 

I'm not sure if it will be the same.

> You
> place greater value on one than the other because of performance reasons.
> That's what "optimization" means.
>> I'm asking for a possible rewriting of how rend.Page (and flat) works.
> The context is being removed, so that will happen.  

Ok, but how is going this branch of development?

> Since the way you
> described continues to expose the context as an application level API,
> I don't think that is how the rewrite will go.

I'm talking about a different context.
A context that holds data.

context = {'table': ..., 'header': ..., 'request': request}
return flat.flatten(node, context)

Now stan use object adaptation (locate/remember) for obtaing the data 
requested by a data directive.

Regards  Manlio Perillo

More information about the Twisted-web mailing list