summaryrefslogtreecommitdiff
path: root/sleekxmpp/stanza
diff options
context:
space:
mode:
authorVijay Pandurangan <vijayp@vijayp.ca>2011-11-20 03:30:44 +0800
committerLance Stout <lancestout@gmail.com>2011-11-20 03:39:05 +0800
commitdeb52ad3502a94f91ef5400bf5b7605b8e151f50 (patch)
tree879d9e076ed037bf5056514a8e470e7d471f26ca /sleekxmpp/stanza
parent1baf139ca4be0c05a6a845becf18412b213a3c02 (diff)
downloadslixmpp-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/stanza')
-rw-r--r--sleekxmpp/stanza/rootstanza.py3
1 files changed, 1 insertions, 2 deletions
diff --git a/sleekxmpp/stanza/rootstanza.py b/sleekxmpp/stanza/rootstanza.py
index 470a1225..2ac47d8b 100644
--- a/sleekxmpp/stanza/rootstanza.py
+++ b/sleekxmpp/stanza/rootstanza.py
@@ -80,8 +80,7 @@ class RootStanza(StanzaBase):
self['error']['type'] = 'cancel'
self.send()
# log the error
- log.exception('Error handling {%s}%s stanza' %
- (self.namespace, self.name))
+ log.exception('Error handling {%s}%s stanza' , self.namespace, self.name)
# Finally raise the exception to a global exception handler
self.stream.exception(e)