From deb52ad3502a94f91ef5400bf5b7605b8e151f50 Mon Sep 17 00:00:00 2001 From: Vijay Pandurangan Date: Sun, 20 Nov 2011 03:30:44 +0800 Subject: 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 --- sleekxmpp/xmlstream/handler/waiter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sleekxmpp/xmlstream/handler/waiter.py') diff --git a/sleekxmpp/xmlstream/handler/waiter.py b/sleekxmpp/xmlstream/handler/waiter.py index 25dc161c..c3d0a4e1 100644 --- a/sleekxmpp/xmlstream/handler/waiter.py +++ b/sleekxmpp/xmlstream/handler/waiter.py @@ -91,7 +91,7 @@ class Waiter(BaseHandler): stanza = self._payload.get(True, timeout) except queue.Empty: stanza = False - log.warning("Timed out waiting for %s" % self.name) + log.warning("Timed out waiting for %s" , self.name) self.stream().remove_handler(self.name) return stanza -- cgit v1.2.3