问题标签 [line-profiler]

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 回答
52 浏览

arrays - 优化 numpy 二维数组分区方法

我正在尝试根据特定列的内容将 2D numpy 数组划分为 2 个单独的 numpy 数组。这是我的代码:

注意:对于我的实验,我使用了 (14359,42) 个元素的数组。

现在,当我使用 kernprof 行分析器分析此函数时,我得到以下结果。

在这里,一行 16 占用了大量时间。将来,我将使用的实际数据量会更大。

谁能建议一种更快的分区numpy数组的方法?

0 投票
1 回答
45 浏览

python - 在二维 numpy 数组中映射列内容的优化方法

我有一个 numpy 二维数组,其中包含 0 到 100 之间的整数。对于特定列,我想按以下方式映射值:

这是我的代码:

此代码需要 8.3 秒才能运行。以下是在此代码上运行 line_profiler 的输出。

将来我必须使用比这个大得多的真实数据。谁能建议一种更快的方法来做到这一点?

0 投票
1 回答
2342 浏览

python - 将 line_profiler 与 numba jited 函数一起使用

是否可以将 line_profiler 与 Numba 一起使用?

调用%lprun装饰有的函数会@numba.jit返回一个空配置文件:

Cython 代码有一个解决方法,但找不到 Numba 的任何东西。

0 投票
2 回答
296 浏览

arrays - 查找组合在 numpy 二维数组中出现的次数

我有一个 2D numpy 数组,我想要一个函数在数组的 col1 和 col2 上运行,如果“M”是 col1 中唯一值的数量,“N”是 col2 中唯一值的数量,则输出 1D数组的大小为 (M * N) 例如,假设 col1 中有 3 个唯一值:A1、A2 和 A3,col2 中有 2 个唯一值:X1 和 X2。那么,可能的组合是:(A1 X1),(A1 X2),(A2 X1),(A2 X2),(A3 X1),(A3 X2)。现在我想找出每个组合在同一行中一起出现的次数,即有多少行包含组合 (A1,X1) 等等。我想将计数作为一维数组返回。这是我的代码:

以下是我在此代码上运行 line_profiler 时的分析结果。

定时器单位:1e-06 s

总时间:18.1849 s 文件:testcode3.py 功能:第 2 行的 myfunc

Line # Hits Time Per Hit % Time Line Contents

如您所见,np.where 和 np.intersect1D 占用了大量时间。谁能建议更快的方法来做到这一点?将来我将不得不使用比这个大得多的真实数据,因此我需要优化这段代码。

0 投票
1 回答
1375 浏览

python - python中的行分析类实例化

我有一些我正在尝试分析的现有代码。我可以通过使用kernprof@profile添加装饰器来成功地配置配置文件类方法。

有没有一种通用的方法来分析类实例化?我有一些具有相当复杂的继承结构的类。当我尝试分析他们的初始化函数时,我得到如下信息:

这有点没用,因为我不知道__init__正在调用什么实际的父函数(这个类有 2 个父函数,每个父函数都有一个或多个父函数)。

有没有办法更好地做到这一点?例如,有没有办法自动深入每一行,并分析被它调用的行(深度有限)?

0 投票
1 回答
1265 浏览

python - Kernprof(line_profiler):如何将结果输出为文本而不是二进制文件

运行kernprof时:

输出存储在二进制文件中,可以在终端/命令行中读取。

有没有办法将结果输出到文本文件?

这似乎是有用的功能,但在文档或其他帖子中找不到。

0 投票
1 回答
115 浏览

python - 无法在 Qt 控制台中使用 pip 安装“line_profiler”

当我尝试在 QTconsole 中安装“line_profiler”时

但它失败了,“无法为线轮廓仪构建轮子”。

我不知道为什么会这样。有什么方法可以在 QTconsole 中成功安装“line_profiler”?

0 投票
0 回答
73 浏览

python-3.x - 使用 line_profiler 时出现 UnicodeEncodeError

我正在学习python并尝试逐行分析代码性能。我安装了 line_profiler 但它总是显示

UnicodeEncodeError:“charmap”编解码器无法对位置 30-31 中的字符进行编码:字符映射到未定义

我试图运行 chcp 65001 但没有用。

结果:

你好!test2()

C:\OneDrive\u684c\u9762\linecheck.py:91: DeprecationWarning: cgi.escape is deprecated, 使用 html.escape 代替 escape_html=cgi.escape(html)

<script>alert("你是个好孩子!&我喜欢你")</scrpit> 定时器单位:5.14057e-07 s

总时间:2.6731e-05 s

回溯(最近一次通话最后):

文件“C:\OneDrive\u684c\u9762\linecheck.py”,第 101 行,在

lp.print_stats()

文件“C:\Python\lib\site-packages\line_profiler.py”,第 139 行,在 print_stats

show_text(lstats.timings,lstats.unit,output_unit=output_unit,stream=stream,stripzeros=stripzeros)

文件“C:\Python\lib\site-packages\line_profiler.py”,第 261 行,在 show_text

输出单元=输出单元,流=流,stripzeros=stripzeros)

文件“C:\Python\lib\site-packages\line_profiler.py”,第 210 行,在 show_func 中

stream.write("文件: %s\n" % 文件名)

文件“C:\Python\lib\encodings\cp1252.py”,第 19 行,在编码中

返回 codecs.charmap_encode(input,self.errors,encoding_table)[0]

UnicodeEncodeError: 'charmap' codec can't encode characters in position 30-31: character maps to [Finished in 5.8s]

0 投票
0 回答
182 浏览

python - 带有面向对象代码的 Python line_profiler

我正在尝试将Robert Kern 的 python line_profiler用于一些面向对象的代码,但我无法获得所需的输出。我的对象是以下形式:

我想使用@profile装饰器对每个方法进行行分析,但是当我使用以下命令在 iPython 环境中运行分析器时:

我得到以下信息:

我在没有@profile装饰器的情况下尝试过它,它只是告诉我所有的时间都花在了update方法上,这很清楚。

0 投票
1 回答
707 浏览

jupyter-notebook - 在 jupyter notebook 中使用 cython 进行行分析

我正在尝试在带有 cython 功能的 jupyter 笔记本中使用 liner_profiler 库。它只工作了一半。我得到的结果只包含函数的第一行,没有分析结果。

对于分析结果 int onlt 显示一行代码