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:

committed by
Lance Stout

parent
1baf139ca4
commit
deb52ad350
@@ -118,7 +118,7 @@ class xep_0199(base_plugin):
|
||||
Arguments:
|
||||
iq -- The ping request.
|
||||
"""
|
||||
log.debug("Pinged by %s" % iq['from'])
|
||||
log.debug("Pinged by %s" , iq['from'])
|
||||
iq.reply().send()
|
||||
|
||||
def send_ping(self, jid, timeout=None, errorfalse=False,
|
||||
@@ -141,7 +141,7 @@ class xep_0199(base_plugin):
|
||||
is received. Useful in conjunction with
|
||||
the option block=False.
|
||||
"""
|
||||
log.debug("Pinging %s" % jid)
|
||||
log.debug("Pinging %s" , jid)
|
||||
if timeout is None:
|
||||
timeout = self.timeout
|
||||
|
||||
@@ -167,7 +167,7 @@ class xep_0199(base_plugin):
|
||||
if not block:
|
||||
return None
|
||||
|
||||
log.debug("Pong: %s %f" % (jid, delay))
|
||||
log.debug("Pong: %s %f" , jid, delay)
|
||||
return delay
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user