我习惯于对基于 C 的应用程序进行采样,每隔几毫秒就会看到当时正在调用什么函数堆栈。
这让我可以看到大部分时间花在应用程序上的地方,以便我对其进行优化。
然而,在使用 python 时,sample 并没有太大帮助,因为它采样的是 python 解释器的 C 函数,而不是 python 代码本身。
python有没有有用的采样工具?
我习惯于对基于 C 的应用程序进行采样,每隔几毫秒就会看到当时正在调用什么函数堆栈。
这让我可以看到大部分时间花在应用程序上的地方,以便我对其进行优化。
然而,在使用 python 时,sample 并没有太大帮助,因为它采样的是 python 解释器的 C 函数,而不是 python 代码本身。
python有没有有用的采样工具?
Python 包含一组内置的分析工具。特别是,您可以从命令行对任意 python 脚本运行 cProfile:
$ python -m cProfile myscript.py
通过直接调用 API 可以获得更精细的用法。请注意,cProfile 模块是在 Python 2.5 中添加的。在早期版本中,您可以使用纯 Python,但速度较慢的“配置文件”模块。