[Zope-CMF] Re: Making TypesTool faster

Tres Seaver tseaver at palladion.com
Fri May 4 08:17:36 EDT 2007

Hash: SHA1

Martin Aspeli wrote:
> Charlie Clark-3 wrote:
>> Am 03.05.2007 um 00:50 schrieb Alexander Limi:
>>>> At present, Archetypes-based content types cannot be used with a  
>>>> factory (I
>>>> tried hard, but there are some acquisition-related/factory related  
>>>> reasons);
>>>> I'd like to refactor this, but we can't for Plone 3.0 at least.
>>> Right. Obviously, we'd like to do this "the proper way", but we  
>>> can't do that for a while yet.
>> I'm sorry but it's -1 from me. The change is unnecessary and the  
>> problem seems to be with Archetypes and not the CMF. In my view it is  
>> incorrect to change the infrastucture to compensate for the  
>> deficiencies of a component. If you need it in Plone you can add it  
>> as a patch.
> 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.
> 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.

I think I misunderstood:  you guys have actually measured that the
'manage_addProducts[product]' dance is taking measurable time when
building the add list?  I thought we were trying to cache the result of
the whole lookup, especially the meta_type-is-allowed +
user-has-permission checks, which I would imagine are much more
expensive than the factory dispatcher lookup.

That said, I didn't really understand the patch as earlier proposed;
I'm sorry for not reading more carefully.

> 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.

If factory dispatcher lookup is truly the hotspot, then we should be
fixing it even lower in the stack (at the Zope level).

- --
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the Zope-CMF mailing list