freezegun
freezegun copied to clipboard
Freezegun doesn't freeze `timeit.default_timer()`
A little ipython test:
In [1]: import freezegun
In [2]: import timeit
In [3]: import time
In [4]: with freezegun.freeze_time():
...: print(timeit.default_timer())
...: time.sleep(1)
...: print(timeit.default_timer())
...:
2332566.128189347
2332567.128278099
In [5]: with freezegun.freeze_time() as fake_time:
...: print(timeit.default_timer())
...: fake_time.tick(1)
...: print(timeit.default_timer())
...:
2332733.968442932
2332733.968543587
In Python 2.7, it's ok. Because Python 2.7 timeit.default_timer is just time.time.
if sys.platform == "win32":
# On Windows, the best timer is time.clock()
default_timer = time.clock
else:
# On most other platforms the best timer is time.time()
default_timer = time.time
Bust Python3 change it to time.perf_counter, which is not coverd in freezegun
default_timer = time.perf_counter
Sounds like we should change this issue to be a feature request for time.perf_counter.
Any update on this? Thanks in advance for your time!