diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py
index b9de8c7..db57ee8 100644
--- a/Lib/asyncio/base_events.py
+++ b/Lib/asyncio/base_events.py
@@ -96,7 +96,6 @@
         self._default_executor = None
         self._internal_fds = 0
         self._running = False
-        self._granularity = time.get_clock_info('monotonic').resolution
 
     def _make_socket_transport(self, sock, protocol, waiter=None, *,
                                extra=None, server=None):
@@ -634,21 +633,11 @@
             else:
                 logger.log(level, 'poll took %.3f seconds', t1-t0)
         else:
-            t0 = self.time()
             event_list = self._selector.select(timeout)
-            dt = self.time() - t0
-            if timeout and not event_list and dt < timeout:
-                print("%s.select(%.3f ms) took %.3f ms (granularity=%.3f ms, resolution=%.3f ms)"
-                      % (self._selector.__class__.__name__,
-                         timeout * 1e3,
-                         dt * 1e3,
-                         self._granularity * 1e3,
-                         self._selector.resolution * 1e3),
-                      file=sys.__stderr__)
         self._process_events(event_list)
 
         # Handle 'later' callbacks that are ready.
-        now = self.time() + self._granularity
+        now = self.time()
         while self._scheduled:
             handle = self._scheduled[0]
             if handle._when > now:
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index 6b5707c..74566b2 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/asyncio/proactor_events.py
@@ -365,7 +365,6 @@
         self._selector = proactor   # convenient alias
         self._self_reading_future = None
         self._accept_futures = {}   # socket file descriptor => Future
-        self._granularity = max(proactor.resolution, self._granularity)
         proactor.set_loop(self)
         self._make_self_pipe()
 
diff --git a/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py
index 3690145..202c14b 100644
--- a/Lib/asyncio/selector_events.py
+++ b/Lib/asyncio/selector_events.py
@@ -36,7 +36,6 @@
             selector = selectors.DefaultSelector()
         logger.debug('Using selector: %s', selector.__class__.__name__)
         self._selector = selector
-        self._granularity = max(selector.resolution, self._granularity)
         self._make_self_pipe()
 
     def _make_socket_transport(self, sock, protocol, waiter=None, *,
