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
may mitigate some of the performance issues by cacheing at a higher
but it doesn't mean there aren't further opportunities for
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
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
(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.
Zope-CMF maillist - Zope-CMF@lists.zope.org
See http://collector.zope.org/CMF for bug reports and feature requests