diff -r f35b3a86ade3 Lib/asyncio/base_events.py --- a/Lib/asyncio/base_events.py Tue Jan 14 16:48:31 2014 -0600 +++ b/Lib/asyncio/base_events.py Thu Jan 16 00:12:26 2014 +0100 @@ -96,6 +96,7 @@ class BaseEventLoop(events.AbstractEvent self._default_executor = None self._internal_fds = 0 self._running = False + self._debug = False def _make_socket_transport(self, sock, protocol, waiter=None, *, extra=None, server=None): @@ -609,16 +610,18 @@ class BaseEventLoop(events.AbstractEvent else: timeout = min(timeout, deadline) - # TODO: Instrumentation only in debug mode? - t0 = self.time() - event_list = self._selector.select(timeout) - t1 = self.time() - argstr = '' if timeout is None else ' {:.3f}'.format(timeout) - if t1-t0 >= 1: - level = logging.INFO + if self._debug: + t0 = self.time() + event_list = self._selector.select(timeout) + t1 = self.time() + argstr = '' if timeout is None else ' {:.3f}'.format(timeout) + if t1-t0 >= 1: + level = logging.INFO + else: + level = logging.DEBUG + logger.log(level, 'poll%s took %.3f seconds', argstr, t1-t0) else: - level = logging.DEBUG - logger.log(level, 'poll%s took %.3f seconds', argstr, t1-t0) + event_list = self._selector.select(timeout) self._process_events(event_list) # Handle 'later' callbacks that are ready.