我有一个用python 3.6编写的程序,可以在linux中运行。我需要知道它在执行时消耗了多少 cpu、内存等(在命令行中(,你能帮我吗?
谢谢
注意:很抱歉使用了标签,我不确定要放哪些标签
对于基本实验,您可以将%timeit
与ipython
解释器一起使用。对于高精度低电平 -perf
.对于介于两者之间的所有内容,文档中有一篇专门针对该主题的文章。
对于单行计时,你可以使用python的魔术函数%timeit
。(您也可以对多行进行计时,但它会给出完整执行的结果,而不是基于每个语句(
但是,对于详细说明,您可以使用cProfile。您可以在此处阅读说明。
可能对您有所帮助的示例代码:
[sample.py]
import time
print('Hello!')
time.sleep(2)
print('Thanks for waiting!')
cProfile 可以帮助您分析用 sample.py 编写的程序。从 linux 终端运行如下所示的 python 文件。
user@this-pc$ python3 -m cProfile sample.py
输出:
Hello!
Thanks for waiting!
6 function calls in 2.001 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 2.001 2.001 sample.py:1(<module>)
1 0.000 0.000 2.001 2.001 {built-in method builtins.exec}
2 0.000 0.000 0.000 0.000 {built-in method builtins.print}
1 2.001 2.001 2.001 2.001 {built-in method time.sleep}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
希望这对你有帮助。
干杯!