问题标签 [cprofile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
705 浏览

python - cProfile 报告几乎所有花费在:1()

我正在分析一些代码,cProfile 报告几乎所有时间都花在<string>:1(<lambda>). 这意味着什么?
这是 cProfile 的输出:

这是分析代码:

这里是有用的.py,它实际上做了所有事情:

0 投票
3 回答
20346 浏览

python - Python 多进程分析

我正在努力弄清楚如何分析一个简单的多进程 python 脚本

我正在启动 5 个进程,因此 cProfile 会生成 5 个不同的文件。在每个我想看到我的方法“worker”运行大约需要 3 秒,但我只看到“start”方法内部发生了什么。

如果有人可以向我解释这一点,我将不胜感激。

更新:基于公认答案的工作示例:

0 投票
1 回答
461 浏览

python - 在 python 上使用 numpy/scipy len() cProfile 结果

可能重复:
如何分析 Python 脚本?

我曾经cProfile用来找出我大部分时间都花在我的python代码上的方法,这是对“percall”进行排序后的输出:

我发现该方法len()花费了我大部分时间:

但是,我知道len()调用会调用 python 对象__len__()方法,我怎么知道哪个 python 类/对象花费我最多?

我正在使用 python 2.6.5 并使用以下命令运行我的脚本:

事实上,我的代码将使用python-numpy,scipy并使用牛顿法进行数值优化。我相信目标函数的梯度计算花费了我大部分时间,并想找出它花费这么多的原因。

0 投票
2 回答
2730 浏览

python - python - cProfile没有运行

我试图使用 cProfile 对我的代码进行性能测试,但遗憾的是,无论我如何尝试 cProfile 都拒绝正常运行。这是我所做的:

这就是我得到的:

有人可以帮我调试一下,并希望提供解决方案吗?

我在 Wing IDE 101 ver4.1 上运行 Python 2.7.3。

谢谢!!!

0 投票
3 回答
6557 浏览

python - 为什么 cProfile 模块不适用于 unittest?

我会使用 cProfile 模块来分析我的单元测试。但是当我跑步时

我得到了“在 0.000 秒内运行 0 次测试”。这是 mytest.py 的源代码

我也用其他更复杂的单元测试进行了测试。如果我使用 cProfile 运行它,总是得到“运行 0 次测试”。请帮忙。

更新:我的操作系统是带有内置 python 2.7 的 MacOS 10.7。相同的代码在 ubuntu 上也能正常工作。

0 投票
1 回答
1095 浏览

python - 如何在 django 生产服务器中执行 cProfile

我想在生产环境中监视我在 Django 应用程序中的视图。所以,我遇到了我在本地环境中测试的解决方案脚本。工作正常!!。

当我使用生产环境时,由于 debug=True,我遇到了 Unhandled Exception 的问题。我也在本地环境中使用了 debug=True(由 django 服务器提供静态)。

是否可以使用上面的链接中间件来访问相应django视图的hotshot?

你能帮我做一下 django 生产服务器链接中提到的 hotshot 或 cProfile 吗?

0 投票
3 回答
657 浏览

django - App Engine WSGI 中间件分析器

我有一个 Django 应用程序,我决定将它移植到 Google App Engine。
我决定使用 NDB 作为我的数据库并移植了所有模型(包括 django 用户)。在阅读文档一周后(App Engine 文档很糟糕,给出的示例通常已经过时并且不再工作)并移植应用程序,当我运行它时它真的很慢:1s-2s 延迟与空数据库。
ndb 查询不需要太多时间(少于 50 毫秒),并且Appstats应用程序没有向我显示任何其他内容。
我决定使用cProfile并创建了一个 wsgi 中间件,但我不知道如何打印输出。pstats 方法给我打印输出或将其保存到文件,我不能在 wsgi 处理程序中做任何事情。
我的代码如下:

如何将探查器统计信息附加到正文?
或者有没有更好的方法来找出是什么减慢了我的应用程序?
我在我的 django 视图中使用了很多模块导入是否有 App Engine 方法来导入模块?

0 投票
5 回答
3697 浏览

python - 如何将 cProfile 与 nosetest --with-profile 一起使用?

鼻子测试 --with-profile --profile-stats-file 输出

输出不能被runsnake读取,因为nosetest使用hotshot,如果我想生成一个可以用runsnake读取的文件,我需要把它转换成这样:

st = hotshot.stats.load('输出')

st.dump_stats('output_new')

我可以直接使用 cProfile 运行测试以使用 runnake 读取吗?

0 投票
1 回答
1057 浏览

python - 从函数中调用 Python cProfile。(或其他在 Django 中使用 cProfile 的方式)

如何从函数中调用 cProfile,使用它来调用和分析另一个函数?

我有一个函数 start(),它是从我的网页调用的(使用 Django)。在这个函数中,我放置了 cProfile 调用:

这给了我错误“未定义名称 my_function”。但是,如果我只是进行正常的函数调用,则调用该函数没有问题: my_function()

一切都说要使用 cProfile 执行“主”功能,但我真的没有一个主功能或一种明显的方式来运行我的程序,除了从网页。

0 投票
1 回答
267 浏览

python - Python Profiling - 我的代码之外的汇总函数调用

我正在尝试分析我们的 django 单元测试(如果测试更快,我们会更频繁地运行它们)。我已经通过 python 的内置 cProfile 分析器运行它,生成了一个 pstats 文件。

但是信噪比很差。列出的功能太多。当我进行一个数据库查询时,会调用很多很多 django 内部函数。这使得很难看到发生了什么。

无论如何我可以“汇总”某个目录之外的所有函数调用吗?

例如,如果我在我的目录之外调用一个 python 函数,然后它调用 5 个其他函数(都在我的目录之外),那么它应该把所有这些都汇总起来,所以看起来只有一个函数调用,它应该显示累积整个事情的时间。

显然,如果您想分析(例如)Django,这很糟糕,但我不想这样做。

我查看了 pstats.Stats 对象,但看不到修改此数据的明显方法。