← Back to team overview

launchpad-dev team mailing list archive

Re: [performance] Twisted Exception "features"

 

John Arbash Meinel wrote:
[...]
> 
> Best case time, 350ms. Apparently those aren't the expensive exceptions.
> So it does help (350ms is better than 480ms.) But not as much as
> 'tb=None' ~180ms.

Hmm, interesting.  It might be worth patching Failure and Deferred on
your system to see where the other calls to Failure() [i.e. with no
args] are coming from.  Specifically patch the part of
Deferred._runCallbacks that calls Failure() to say which callback
triggered it, and patch Failure.__init__ to report when it is called
without args too, because there may be some places that don't happen
directly in Deferred…

The most obvious other point I can see is in twisted.web.xmlrpc.Proxy,
which is hard to avoid nicely.  I've pushed up an ugly revision to my
branch to try suppress that too, but it's pretty nasty (I have to copy a
15 line method just to change 2 lines).  I'm not sure that we'd actually
be triggering failing XML-RPC calls in this case though, so it may make
no difference.  It'd be nice to get hard data on where the other
Failure() calls are coming from so we know if there's just one or two
places we can adjust, or if it's too widespread to fix this way.

-Andrew.




Follow ups

References