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
This commit is contained in:
Vijay Pandurangan
2011-11-19 11:30:44 -08:00
parent 7945b3e738
commit 6f3cc77bb5
23 changed files with 69 additions and 72 deletions
+1 -1
View File
@@ -45,5 +45,5 @@ class xep_0085(base_plugin):
def _handle_chat_state(self, msg):
state = msg['chat_state']
log.debug("Chat State: %s, %s" % (state, msg['from'].jid))
log.debug("Chat State: %s, %s" , state, msg['from'].jid)
self.xmpp.event('chatstate_%s' % state, msg)