Python 时间。睡在伊皮顿非常不准确

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

在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
在新的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,而是来自调度程序。谢谢