On Aug 3, 2009, at 1:46 PM, toutpt wrote:

> Hi,
> I m currently profiling the code of Plone to find performance issue  
> and
> fix them (i m sure there are a lot).
> There are things I don't understand very well, so sorry if I m wrong.
> The code of CMFCatalogAware.opaqueItems parse every attributes of
> plonesite and evaluate this for each attribute:
> ICallableOpaqueItem.providedBy(obj)  or
> z2ICallableOpaqueItem.isImplementedBy(obj)
> isImplementedBy calls takes 30% of the time spent.
> But z2ICallableOpaqueItem is a Zope2 interface and I m not used to  
> this
> kind of object. It seems they are generated on runtime, so for me it's
> hard to debug.
> My questions are:
> * What are opaqueitems (any example ? I don't have find anything  
> usefull
> in tests of CMFCore)
> * Is zope2 interface are still used and why ?
> * How could I replace those calls, or improved this code that always
> return an empty tuple
> PS: sorry for cross posting if there are because i have some issues  
> with my other email address.
> - JeanMichel FRANCOIS aka toutpt

This has already been fixed in Plone 4 (by monkey-patching CMF to only  
pay attention to the 'talkback' opaque item which is used for  
discussions).  In Plone 3 you can avoid this performance issue by  
installing the experimental.opaquespeedup package (thanks to Jarn) -- 

David Glick
Web Developer

New tools and strategies for engaging people in protecting the  

work: (206) 286-1235 x32
mobile: (206) 679-3833

Subscribe to ONEList, our email newsletter!
Practical advice for effective online engagement

Zope-CMF maillist  -  Zope-CMF@lists.zope.org

See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests

Reply via email to