Next to my first plone patch that improve performance I have profiling the code on a simple query: get a javascript from portal_javascript already computed.
The result is clear: 28% of the time is spent in opaqueitems. So I have discuss about it on CMF mailing list.
A monkey patch was already existing: experimental.opaquespeedup. I have read the code. It replace the time consuming calls on all attributes by a catalog request. But I know that catalog can be slow if the web site has lots of contents. I have decided to make something more aggressive, by just removing opaqueitems that seems to be not used.
So use it at your own risk !