summaryrefslogtreecommitdiff
path: root/sleekxmpp/xmlstream/matcher
diff options
context:
space:
mode:
authorVijay Pandurangan <vijayp@vijayp.ca>2011-11-19 11:30:44 -0800
committerVijay Pandurangan <vijayp@vijayp.ca>2011-11-19 11:30:44 -0800
commit6f3cc77bb52349b1b88d0dd6edd2ba77141bc7f6 (patch)
treeca30a84c518db108faa78a97983aee9a6feccbd2 /sleekxmpp/xmlstream/matcher
parent7945b3e7389516ebd3267dbba83e7564813c3012 (diff)
downloadslixmpp-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/xmlstream/matcher')
-rw-r--r--sleekxmpp/xmlstream/matcher/xmlmask.py3
1 files changed, 1 insertions, 2 deletions
diff --git a/sleekxmpp/xmlstream/matcher/xmlmask.py b/sleekxmpp/xmlstream/matcher/xmlmask.py
index 53ccc9ba..cd350432 100644
--- a/sleekxmpp/xmlstream/matcher/xmlmask.py
+++ b/sleekxmpp/xmlstream/matcher/xmlmask.py
@@ -102,8 +102,7 @@ class MatchXMLMask(MatcherBase):
try:
mask = ET.fromstring(mask)
except ExpatError:
- log.warning("Expat error: %s\nIn parsing: %s" % ('', mask))
-
+ log.warning("Expat error: %s\nIn parsing: %s" , '', mask)
if not use_ns:
# Compare the element without using namespaces.
source_tag = source.tag.split('}', 1)[-1]