[Zope-CMF] Re: Making TypesTool faster
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
> 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
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
> 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.
More information about the Zope-CMF