[Zope-CMF] Re: Making TypesTool faster

Charlie Clark charlie at begeistert.org
Fri May 4 08:34:36 EDT 2007

Am 04.05.2007 um 14:00 schrieb Martin Aspeli:

> I'm not entirely convinced the problem is in AT, and I think we are
> conflating two different issues here. One is an observation of  
> Tres' that AT
> has a function that could perform more cacheing. That's a good  
> point, and
> may mitigate some of the performance issues by cacheing at a higher  
> level,
> but it doesn't mean there aren't further opportunities for  
> improvements to
> the underlying code.

Indeed it doesn't but the argument is that there is a performance  
problem in Plone rather than CMF.

Tres' most telling argument for me is:

"The cache is actually based only on the container (which could be a
path) and the user ID.  It would be a perfect use of a RAM Cache Manager
  (assuming that we cached mappings rather than persistent references).
Using a volatile here (which is what I assume you mean) would dilute the
"locality" of the cache by the number of database connections in use."

> The other issue is some code in TypesTool which is making a lot of  
> calls to
> a procedure in Zope which is unlikely (impossible?) to ever return a
> different result until Zope is restarted and new products are  
> detected.

No, the issue is how often the TypesTool is being called (from within  
Plone). Surely the cache should be higher upstream in this case? Or  
maybe no, see below.

> If the two are orthogonal, and we already have a sane patch, then  
> why not
> (at least if we can get some tests in place) fix the one at the CMF  
> level
> and deal with the other Archetypes issue separately.

The Archetypes issue should indeed be dealt with separately. I am,  
however, not convinced that this patch is sane. If the calls to Zope  
are indeed the issue as you suggest then I would suggest looking at  
their mechanism and whether Zope rather than the CMF can be improved  
in this respect - going on what Alec is quoted as saying it still  
makes sense to me to put the cache in the Zope making it available to  
all components. I've only had a brief look at the Product  
registration, etc. in Zope but from what I saw it looked like it  
could indeed be improved.

Charlie Clark
Helmholtzstr. 20
D- 40215
Tel: +49-211-938-5360
GSM: +49-178-782-6226

More information about the Zope-CMF mailing list