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/basexmpp.py | |
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/basexmpp.py')
-rw-r--r-- | sleekxmpp/basexmpp.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sleekxmpp/basexmpp.py b/sleekxmpp/basexmpp.py index 8f11eefa..24a7c386 100644 --- a/sleekxmpp/basexmpp.py +++ b/sleekxmpp/basexmpp.py @@ -246,7 +246,7 @@ class BaseXMPP(XMLStream): spec = "(RFC-%s) " % self.plugin[plugin].rfc desc = (spec, self.plugin[plugin].description) - log.debug("Loaded Plugin %s%s" % desc) + log.debug("Loaded Plugin %s%s" , desc) except: log.exception("Unable to load plugin: %s", plugin) @@ -282,7 +282,7 @@ class BaseXMPP(XMLStream): if key in self.plugin: return self.plugin[key] else: - log.warning("""Plugin "%s" is not loaded.""" % key) + log.warning("""Plugin "%s" is not loaded.""" , key) return False def get(self, key, default): @@ -679,7 +679,7 @@ class BaseXMPP(XMLStream): def set_jid(self, jid): """Rip a JID apart and claim it as our own.""" - log.debug("setting jid to %s" % jid) + log.debug("setting jid to %s" , jid) self.boundjid.full = jid def getjidresource(self, fulljid): @@ -795,7 +795,7 @@ class BaseXMPP(XMLStream): log.warning('You should catch IqError exceptions') elif isinstance(exception, IqTimeout): iq = exception.iq - log.error('Request timed out: %s' % iq) + log.error('Request timed out: %s' , iq) log.warning('You should catch IqTimeout exceptions') else: log.exception(exception) |