python - 是否有 Python 的高级分析模块?

标签 python profiling introspection cprofile

我想分析我的 Python 代码。我很了解 cProfile,我也使用它,但它的级别太低了。 (例如,甚至没有一种直接的方法来捕获您正在分析的函数的返回值。)

我想做的一件事:我想在我的程序中获取一个函数,并将其设置为在运行程序时动态进行分析。

例如,假设我的程序中有一个函数 heavy_func。我想启动程序并让 heavy_func 函数不对自身进行配置。但是在我的程序运行期间的某个时候,我想更改 heavy_func 以在它运行时对自身进行分析。 (如果您想知道我如何在程序运行时操作东西:我可以从调试器或集成到我的 GUI 应用程序的 shell 中进行操作。)

是否已经编写了一个模块来做这样的事情?我可以自己写,但我只是想先问一下,这样我就不会重新发明轮子。

最佳答案

这可能有点令人费解,但是 this technique应该可以帮助您找到“瓶颈”,这就是您想要做的。 您非常确定要关注的例程。 如果那是你需要关注的例程,那么它会证明你是对的。 如果真正的问题出在其他地方,它会告诉您它们在哪里。

如果你想要一个冗长的原因列表,look here .

关于python - 是否有 Python 的高级分析模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3773909/

相关文章:

python - multiprocessing.Pool - PicklingError : Can't pickle <type 'thread.lock' >: attribute lookup thread. 锁定失败

python - libtorrent + python 基本函数

types - 可以访问结构成员的 'TypeId' 吗?

Python 刽子手算法

python - 如何使用 FastAPI UploadFile 将多类型/表单数据保存到 Python 中的硬文件中?

python - 如何分析 Python 脚本?

php - webgrind中自动清除tmp文件

mysql - 计算 SQL 查询执行并将行转换为 mybatis 中的 java 对象所需的时间

python - 获取函数内部的 kwargs

debugging - 如何在 Vim 中找出某个快捷键触发了哪个命令