问题标签 [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 回答
508 浏览

python - Python cProfile 结果似乎没有加起来

我附上了 Python 脚本的 cProfile 结果的屏幕截图。我知道第二行是指 arcpy 站点包中的地理处理功能。但是,我不清楚第一行是指什么:

C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\geoprocessing_base.py:498()

我看到第 1 行被调用 3 次,每次调用 72 秒,而第 2 行被调用一次,每次调用 216 秒。但是,这些加起来似乎并不等于 219。我应该如何解释这些结果?

在此处输入图像描述

0 投票
1 回答
6510 浏览

python - Profile a python script using cProfile into an external file

I am new to python programming.I have a python script and I am trying to profile it using cProfile command. I typed the following

It generated readings.txt. But when I try to open the file using any standard text editor or notepad, the file doesn't open properly. It doesn't contain the data

Can anyone please tell me how to store these statistics into an external file that can be opened using notepad??

I am using windows platform

0 投票
1 回答
373 浏览

python - 使用 ord 搜索字符串比使用 'in' 方法慢

我有两个版本的一些简单文本解析器(它验证登录正确性):

有三种方法可以完成所有相同的工作:检查登录规则。我认为正则表达式规则很清楚。我用 280000 次登录为这些方法进行了 cProfile 基准测试,得到了我无法理解的结果。

用正则表达式

有秩序的

用 in 方法

我用正确的形式创建了 100k 登录,用西里尔字母创建了 60k 登录,60k 登录的长度为 24 而不是 20,60k 登录的长度为 0。所以,有 280k。如何解释正则表达式比使用 ord 的简单循环要快得多?

0 投票
1 回答
1361 浏览

python - Python vs IPython cProfile sort_order

恋人,

在“IPython”中运行“cProfile”时,我无法让“sort_order”选项工作,这与在系统 shell 中运行等效代码(我已经重定向到一个文件,以便能够看到第一个输出行)。我错过了什么?例如,当运行以下代码时:

给我以下输出(按:标准名称排序):

... 其余省略

IMO 等效代码从系统外壳 (Win7) 运行:

给我以下排序输出:

... 其余省略

我还注意到函数调用的数量有所不同。为什么?

我正在运行 Python 2.7.6 64 位(来自 Enthought),并确保两次执行都使用完全相同的 python 版本(当然第一个版本有一个额外的“IPython”“层”)。我知道我有一个可行的解决方案,但交互式版本会节省时间,我想了解为什么会有不同。

感谢您的时间和帮助!

0 投票
1 回答
127 浏览

python - 为什么我的代码这么慢?

我是 cProfile 的新手。

我在我的程序上运行了 cProfile,它吐出了这个:

newad.py 的第一行是:

这条线应该花这么多时间吗?我能做些什么呢?

0 投票
1 回答
4852 浏览

python - Python cProfile 结果:ncalls 的两个数字

我最近才开始分析我一直在研究的一个服务器应用程序,试图找出一些多余的处理器时间花在了哪里,并寻找使事情变得更顺畅的方法。

总的来说,我认为我已经很好地使用了 cProfile 和 pstats,但我不明白某些函数如何在 ncalls 列中列出两个数字。

例如,在下面的结果中,为什么所有 copy.deepcopy 内容都列出了两个数字?

0 投票
1 回答
2653 浏览

python-2.7 - 尝试将 cProfile 信息写入文件时出错

我正在尝试加载 cProfile 配置文件,进行一些排序和微调,然后将结果输出到文件中。根据文档,我想我可以简单地传递一个文件对象,该print_stats函数将重定向到该流。

这是我尝试使用的代码:

这是由此产生的错误:

我还应该补充一点,当我不将对象传递给流参数时,输出在终端中显示正常。

0 投票
1 回答
234 浏览

python - 为什么 cProfile 会导致函数返回不同的值?

我正在用 Python (3.3.1) 构建一个模型,以建立一个相当简单但繁琐的长期现金流合同。就所消耗的时间而言,完整的模型相当复杂,因此我决定尝试对其进行分析。但是,无论有没有分析,我都会得到不同的答案。

我已将代码简化为以下示例:

输出:

为什么每次都会输出不同的答案有一个简单的解释吗?我已经阅读了手册,但我没有看到任何明显的内容。

0 投票
0 回答
221 浏览

python - CPython 没有输出

我正在尝试分析使用 PySide 和 OpenCV 编写的应用程序,并且在分析器中出现奇怪的行为。我使用以下行运行我的代码:

它往往适用于非常短的程序运行。如果我打开它并加载图像(它是一个动画编辑器), output.file 会按预期显示。但是,如果我实际使用该程序(通过动画帧等),则没有输出。它不会生成错误消息或崩溃信息 - 什么也不会。如果我尝试将结果写入控制台,也会出现同样的问题——有时它只是不产生任何输出。

关于可能导致这种情况的任何想法?

编辑:呼叫按预期终止-但不产生任何输出。它不挂。

Edit2 - 这是 application_window.py 的主要功能:

Editor 是一个相当复杂的 QT Widget。所以 application_window 真正做的就是启动 QT 事件循环。

0 投票
1 回答
113 浏览

python - 分析 cProcess 输出

我有一个分析 Perforce 服务器输出的 python 脚本。有了这个,我有两种不同的方式来输出给定时间正在运行的进程。

1.匹配进程缩进与进程缩进开始(P120将有119个缩进)

+P1 +P2 -P1 +P3 -P3 -P2

2.匹配进程缩进与正在运行的进程数

+P1 +P2 +P3 -P2 -P3 -P1

对于这两个函数,输入是我创建的流程对象列表。

类型 1 的代码:(慢)

类型 2 的代码:(快速)

对于确切的一些进程,第一种类型将花费 11 分钟以上,而另一种只需要大约 1 秒。现在我意识到,对于类型 1,如果我有 11,000 个进程,那么我将在某个时候在给定的行上有 11,000 个选项卡,而对于类型 2,这是不正确的。虽然这是唯一让我的脚本变慢的事情吗?其他人是否看到任何其他严重错误。如果您需要查看我在此脚本中调用的其他一些方法,请告诉我。

现在我确实在这两个函数上运行了一个 cProfiler,这就是我得到的:

1:(慢)

2:(快速)

我试图理解这一点,看看它在哪里变慢了。我真正看到的唯一区别是该函数的第一次调用具有不同的 totime。

有没有人可以使用更好的代码分析器?

让我知道您是否还需要其他任何东西。