From 326413a2715e58432a96d63e3eb1025fa2226348 Mon Sep 17 00:00:00 2001 From: Quentin Pradet Date: Fri, 16 Nov 2018 16:48:36 +0400 Subject: [PATCH] Use time.monotonic if available --- progress/__init__.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/progress/__init__.py b/progress/__init__.py index 122406f..ebd7908 100644 --- a/progress/__init__.py +++ b/progress/__init__.py @@ -18,7 +18,10 @@ from collections import deque from datetime import timedelta from math import ceil from sys import stderr -from time import time +try: + from time import monotonic +except ImportError: + from time import time as monotonic __version__ = '1.4' @@ -35,7 +38,7 @@ class Infinite(object): def __init__(self, message='', **kwargs): self.index = 0 - self.start_ts = time() + self.start_ts = monotonic() self.avg = 0 self._ts = self.start_ts self._xput = deque(maxlen=self.sma_window) @@ -58,7 +61,7 @@ class Infinite(object): @property def elapsed(self): - return int(time() - self.start_ts) + return int(monotonic() - self.start_ts) @property def elapsed_td(self): @@ -102,7 +105,7 @@ class Infinite(object): return self.file.isatty() if self.check_tty else True def next(self, n=1): - now = time() + now = monotonic() dt = now - self._ts self.update_avg(n, dt) self._ts = now