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

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

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