diff options
author | Vijay Pandurangan <vijayp@vijayp.ca> | 2011-11-19 11:30:44 -0800 |
---|---|---|
committer | Vijay Pandurangan <vijayp@vijayp.ca> | 2011-11-19 11:30:44 -0800 |
commit | 6f3cc77bb52349b1b88d0dd6edd2ba77141bc7f6 (patch) | |
tree | ca30a84c518db108faa78a97983aee9a6feccbd2 /sleekxmpp/plugins/xep_0050 | |
parent | 7945b3e7389516ebd3267dbba83e7564813c3012 (diff) | |
download | slixmpp-6f3cc77bb52349b1b88d0dd6edd2ba77141bc7f6.tar.gz slixmpp-6f3cc77bb52349b1b88d0dd6edd2ba77141bc7f6.tar.bz2 slixmpp-6f3cc77bb52349b1b88d0dd6edd2ba77141bc7f6.tar.xz slixmpp-6f3cc77bb52349b1b88d0dd6edd2ba77141bc7f6.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/plugins/xep_0050')
-rw-r--r-- | sleekxmpp/plugins/xep_0050/adhoc.py | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sleekxmpp/plugins/xep_0050/adhoc.py b/sleekxmpp/plugins/xep_0050/adhoc.py index 5095f874..7cfaa0e0 100644 --- a/sleekxmpp/plugins/xep_0050/adhoc.py +++ b/sleekxmpp/plugins/xep_0050/adhoc.py @@ -211,8 +211,7 @@ class xep_0050(base_plugin): key = (iq['to'].full, node) name, handler = self.commands.get(key, ('Not found', None)) if not handler: - log.debug('Command not found: %s, %s' % (key, self.commands)) - + log.debug('Command not found: %s, %s' , key, self.commands) initial_session = {'id': sessionid, 'from': iq['from'], 'to': iq['to'], |