Python有没有可视化性能分析器?
我现在在用 cProfile,但是写 pstats 代码来查询统计数据让我觉得很麻烦。
我想找一个可视化的工具,能让我看到我的 Python 代码在 CPU 时间和内存使用方面的表现。
在 Java 领域,有一些例子,比如 visualvm 和 JProfiler。
- 有没有类似的工具存在呢?
- 有没有集成开发环境(IDE)可以做到这一点?
- 使用 dtrace 会有帮助吗?
我知道 Linux 上有 KCachegrind,但我更希望能在 Windows 或 Mac 上运行,而不需要安装 KDE。
12 个回答
18
我在使用 gprof2dot.py 这个工具。结果看起来 像这样。我使用了这些命令:
python -m cProfile -o profile.dat my_program.py
gprof2dot.py -f pstats profile.dat | dot -Tpng -o profile.png
你需要先安装 graphviz 和 gprof2dot.py。你可能还会喜欢一个 方便的脚本。
42
我只知道有一个叫做 RunSnakeRun 的工具。
之前也有人提到过在 PyDev(一个基于 Eclipse 的开发环境)里可能会有一个集成的性能分析工具,但我不知道这个工具是否真的会推出。
更新:很遗憾,RunSnakeRun 似乎已经不再维护了,而且不支持 Python 3。
106
我和我的朋友写了一个叫做 SnakeViz 的Python性能分析工具,它可以在网页浏览器中运行。如果你已经在顺利使用 RunSnakeRun,那么SnakeViz可能不会给你带来太多额外的好处,但它的安装要简单得多。
补充一下:SnakeViz支持Python 2和3,并且可以在所有主要操作系统上运行。