%timeit sortThis
Output: 15.1 ns ± 0.163 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)
试过了,但它没有给我正确的输出。
sortThis 是一个 .py 文件,其中包含一个简单的对列表进行排序的函数。我已经用秒表计时了,这比命令返回的要多。
感谢您的帮助。
编辑:这是一个家庭作业,我必须在命令行中使用 %timeit。
最佳答案
在我的 IPython 控制台中(IPython 6.4.0 和 Python 3.6.5,安装在 Anaconda 5.2 下),这有效。
%timeit %run sortThis
注意几件事。使用 %cd
魔术命令确保您当前的工作目录是包含 sortThis
脚本的目录。或者,或者在您的命令中包含脚本的路径。此外,如果脚本打印任何内容,您可能会在 %timeit
显示其结果之前在控制台中打印成百上千份副本。
当我在 sortThis
脚本中使用命令 print('Hello, world!')
时,我得到了这个结果:
1.23 ms ± 5.97 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
我很确定脚本的第一次加载导致 Python 将编译后的版本保存到 .pyc
文件中,并且该文件位于我计算机的缓存中。因此,规定的时间是多次执行的平均值,导致时间间隔很小。所以不要期望 %timeit
为您第一次执行脚本计时——只是许多连续执行的平均值。
关于python - 你如何在 .py 文件上使用 %timeit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51451699/