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

python - 如何使用 python 创建 kgring 文件?

我是python编程的新手。我尝试学习 cProfiler 并使用 pyprof2calltree 。我正在使用 python 2.7,windows 7。我安装了 pyprof2calltree 1.3.2 和 qcachegrind074-x86。问题是我找不到任何关于在 windows 中使用 qcachegrind074 的教程,所有代码都在另一个操作系统中。我写了非常简单的代码(下面的代码)。我只想创建一个 kgring 但引发错误!。我在 thi 代码中的问题在哪里,如何创建 kgring 文件?

错误是:

回溯(最近一次调用最后):文件“C:/..../pyprof2example,第 11 行,在可视化(profiler.getstats())文件“C:...\lib\pyprof2calltree.py,第 306 行,在可视化 converter.visualize() 文件“C:...\lib\pyprof2calltree.py”,第 145 行,可视化 self.output(f) 文件“C:...\lib\pyprof2calltree.py”,第 133 行,在输出 self._entry(entry) 文件“C:\P...\lib\pyprof2calltree.py”中,第 208 行,在 _entry 中用于子条目,调用中的 call_info:ValueError:要解压的值太多

谢谢

0 投票
1 回答
650 浏览

python - 用于多个输入和平均结果的 Python 配置文件

我有几个不同的 Python 脚本输入,我以以下形式调用它们:

我可以使用python -m cProfile -s ./myscript.py myfile1. 不幸的是,根据输入文件,时间花在了完全不同的代码部分。

我对所有输入的代码进行概要分析的粗略想法是(1)快速而肮脏,编写一个 bash 脚本来调用python -m cProfile -s ./myscript.py myfileeach myfile,并解析输出或(2)在 python 本身中解析 cProfile 结果。

如何myscript.py所有输入文件进行概要分析,并对结果进行平均,以便我知道热点通常在哪里?

0 投票
1 回答
851 浏览

python - 我可以使用 -m 标志运行多个模块吗?

我想用尽可能多的参数来分析我的 python 代码: 1. 时间(当前使用memory_profiler) 2. 内存(当前使用cProfile或使用profile) 3. I/O - 每秒读/写字节数(没有找到任何)

最简单的事情(据我所知)是在上面的模块上使用 -m 标志(例如python -m cProfile [-o output_file] [-s sort_order] myscript.py

那么,如何对 memory_profiler 和 cProfile/profile 模块使用 -m 标志?

0 投票
1 回答
1583 浏览

python - cProfile 需要很长时间

我开始使用cProfile分析我的 python 脚本。我注意到一些非常奇怪的事情。

当我time用来测量我的脚本的运行时间时,它需要 4.3 秒。

当我使用python -m cProfile script.py它需要 7.3 秒。

在代码中运行探查器时:

需要63秒!!

cProfile我可以理解为什么在添加分析时可能需要更多时间,但是为什么从外部使用或作为代码的一部分使用会有如此大的差异?我使用它需要这么多时间有什么原因profile.run吗?

0 投票
1 回答
327 浏览

python - c使用相对导入分析模块

我有这些文件mymodule

有了这个简单的内容:

我可以运行它(并且没有任何反应)python -m mymodule.lib

但我无法分析它:

那么,我怎样才能cProfile成为图书馆呢?由于库没有做任何事情,只会分析 lib 模块的导入,但这对我来说已经足够了。在这个阶段我不想分析所有的函数调用,只是模块的导入。

对于具有相对导入的模块,如何使用 cProfile 执行此操作,避免使用ValueErrors?

0 投票
2 回答
1803 浏览

python - Bad Marshal 错误——runsnake

我在 python 3 脚本上运行 cProfile,运行良好,然后尝试使用 runnake 将其可视化。但是,我得到了一个空白屏幕和错误“元帅数据错误”。

我删除了 .pyc 文件,但这也不起作用。

我用来安装runsnake的代码是:

我正在使用 UBUNTU。

非常感谢。

注意:我应该添加我在激活 py3k 时安装了所有东西

0 投票
1 回答
1000 浏览

python-2.7 - 分析调用并行外部程序的 Python 程序

类似于关于分析多处理代码的这个问题......

我需要分析我的代码库,并且我计划使用 cProfile。该程序本质上是一个并行运行评估函数的遗传算法。更重要的是,这个评估函数通过命令行从外部调用另一个 Python 程序。

是否可以使用 cProfile 来分析整体运行情况?基本上,我打算在我的工作函数中开始分析(累积时间、pcall、内存开销等),但是我担心外部程序对分析器不可见。

0 投票
0 回答
582 浏览

python - 忽略 cProfile 日志中的函数调用

我知道可以使用 获取特定模块的函数调用频率pstats.print_stats('python_script.py:'),但是我想打印不涉及一组函数的分析程序中所有调用函数的频率的报告。

例如,假设我有function1, function2, function3, and function4(假设这个列表要大得多)并且我想打印每个函数被调用的次数,只要它不是function3。是否可以创建要忽略的函数列表并将其传递给pstats模块以及我正在分析的文件?

特别是,我对不包括前面提到的集合的所有函数的调用次数感兴趣。我可能会编写一个脚本来解析完整的函数列表并忽略该集合,但我觉得 pstats 模块中可能有更简单的方法。

0 投票
1 回答
548 浏览

python - 为什么这个涉及 list.index() 调用的 lambda 这么慢?

使用 cProfile:

1910 3.039 0.002 6.648 0.003 bosh.py:4770(<lambda>)条线让我很困惑。在 bosh.py:4770 我有modNames.sort(key=lambda a: (a in data) and data.index(a)), data 和 modNames 是列表。注意1911 3.051 0.002 3.330 0.002 {method 'index' of 'list' objects}似乎来自这条线。

那么为什么这么慢呢?有什么办法可以重写它sort()以使其执行得更快?

编辑:我缺少了解这个 lambda 的最后一种成分:

0 投票
1 回答
4992 浏览

python - 了解 python cProfile 输出

我的 python 脚本按顺序解析文件,并进行简单的数据清理并写入新的 csv 文件。我正在使用csv. 该脚本需要很长时间才能运行。

cProfile输出如下:在此处输入图像描述

在在这里发布问题之前,我已经做了很多谷歌搜索。

链接到图片图片链接

在这里添加代码,调用的函数