Выполняя некоторые тесты на консоли I python, я заметил, что time.sleep()
ведет себя странно. Я попытался очистить все определенные переменные, используя %reset -f
, и сузил задачу до следующих строк:
In [267]: %reset -f
...: import time
...: a = time.time()
...: time.sleep(0.0001)
...: print(f'took {time.time() - a}s')
took 3.1847519874572754s
Выполнение того же кода в новой консоли I python дает ожидаемые результаты:
In [1]: %reset -f
...: import time
...: a = time.time()
...: time.sleep(0.0001)
...: print(f'took {time.time() - a}s')
took 0.00023102760314941406s
Я думаю, что удаления всех определенных переменных через %reset -f
недостаточно. Я попытался вручную запустить сборщик мусора через import gc; gc.collect()
, но это ничего не изменило.
Я предполагаю, что я python хранит некоторые вещи о текущем сеансе, к которым я не могу или не знаю, как получить к ним доступ, но я не смог найти что-то полезное. Я использую python 3.7.3, I python 7.10.1 в терминале iTerm2v, на MacOS 10.15.2.