> My main concern is the use of monkeypatching in the core makes it difficult 
> for someone else to release a product that also MPs without them worrying 
> about whether something has already patched code. Especially when we're 
> talking about MP'ing so many core Zope objects (yes, I count >1 as "so many" 
> :)

Multiple monkeypatches should be fine, so long as each renames the
__call__ method to something unique.

> I think the performance hit is really quite minimal for two if statements at 
> the entry and exit point(s) of a function to turn the behaviour on and off.

I'm not convinced. Those small increments of performance really add up.
Look at how Python's performance over time has degraded as one after
another small bits of cruft accumulated.

It's also not just an if statement, it's a global lookup.

> ps. don't forget Anthony, our first reaction when we both thought of this 
> approach was *shudder* :)

Sure, but after tinkering a bit, and compared to the original hack that
I did, this is sooo much cleaner. The amount of work required to 
instrument a new object is close to zero. 

Anthony Baxter     <[EMAIL PROTECTED]>   
It's never to late to have a happy childhood.

Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope )

Reply via email to