diff options
author | Vijay Pandurangan <vijayp@vijayp.ca> | 2011-11-20 03:30:44 +0800 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2011-11-20 03:39:05 +0800 |
commit | deb52ad3502a94f91ef5400bf5b7605b8e151f50 (patch) | |
tree | 879d9e076ed037bf5056514a8e470e7d471f26ca /sleekxmpp/xmlstream/handler | |
parent | 1baf139ca4be0c05a6a845becf18412b213a3c02 (diff) | |
download | slixmpp-deb52ad3502a94f91ef5400bf5b7605b8e151f50.tar.gz slixmpp-deb52ad3502a94f91ef5400bf5b7605b8e151f50.tar.bz2 slixmpp-deb52ad3502a94f91ef5400bf5b7605b8e151f50.tar.xz slixmpp-deb52ad3502a94f91ef5400bf5b7605b8e151f50.zip |
This change stops sleekxmpp from spending huge amounts of time unnecessarily computing logging data that may never be used. This is a HUGE performance improvement; in some of my test runs, unnecessary string creation was accounting for > 60% of all CPU time.
Note that using % in a string will _always_ perform the sting substitutions, because the strings are constructed before the function is called. So log.debug('%s' % expensiveoperation()) will take about the same CPU time whether or not the logging level is DEBUG or INFO. if you use , no substitutions are performed unless the string is actually logged
Diffstat (limited to 'sleekxmpp/xmlstream/handler')
-rw-r--r-- | sleekxmpp/xmlstream/handler/waiter.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sleekxmpp/xmlstream/handler/waiter.py b/sleekxmpp/xmlstream/handler/waiter.py index 25dc161c..c3d0a4e1 100644 --- a/sleekxmpp/xmlstream/handler/waiter.py +++ b/sleekxmpp/xmlstream/handler/waiter.py @@ -91,7 +91,7 @@ class Waiter(BaseHandler): stanza = self._payload.get(True, timeout) except queue.Empty: stanza = False - log.warning("Timed out waiting for %s" % self.name) + log.warning("Timed out waiting for %s" , self.name) self.stream().remove_handler(self.name) return stanza |