Python 时间。睡在伊皮顿非常不准确
在Ipython控制台中进行一些测试时,我注意到Python 时间。睡在伊皮顿非常不准确,python,time,ipython,sleep,Python,Time,Ipython,Sleep,在Ipython控制台中进行一些测试时,我注意到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 在新的Ip
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
在新的Ipython控制台中运行相同的代码会产生预期的结果:
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()
但它没有改变任何东西
我猜ipython存储了一些关于当前会话的内容,这些内容我无法或不知道如何访问,但我找不到有用的内容。
我在iTerm2v终端、MacOS 10.15.2上使用的是python 3.7.3、Ipython 7.10.1。仅供参考,您的问题实际上可能是测量:看起来您是对的:使用
%time.sleep(0.01)
,我得到了几秒钟的墙时间。。类似Loks的问题不是来自Ipython,而是来自调度程序。谢谢