问题标签 [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.
python - python上的cprofile编译错误
使用 python 的 cProfile,我对我的代码进行了 cprofiled,但我不断收到与 compile() 和 null 字符相关的错误,我不太明白。
错误信息是:
[cProfileV]:cProfile 输出可在http://127.0.0.1:4000 Traceback(最近一次调用最后一次):文件“/Library/Frameworks/Python.framework/Versions/2.7/bin/cprofilev”,第 9 行,在 load_entry_point ('CProfileV==1.0.6', 'console_scripts', 'cprofilev')() 文件 "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cprofilev.py",第 217 行,在主代码中 = compile(fp.read(), progname, 'exec') TypeError: compile() expected string without null bytes
是我的客户端代码有问题,还是服务器没有启动?
先感谢您。
python - PyCharm + cProfile + py.test --> pstat 快照视图 + 调用图为空
在 PyCharm 中,我设置py.test
为默认测试运行程序。
我有一个简单的测试用例:
现在我通过右键单击文件并选择Profile 'py.test in test_profile.py'
.
我看到测试在控制台中成功运行(它说collected 1 items
)。但是,Statistics/Call Graph
显示生成的 pstat 文件的视图是空的,并且显示Nothing to show
.
我希望看到test_something
和的分析信息my_function
。我究竟做错了什么?
编辑1:如果我将文件名更改为不以开头的文件名test_
,删除unittest.TestCase
并插入一个__main__
方法调用my_function
,我终于可以在没有py.test的情况下运行cProfile,我看到了结果。
但是,我正在做一个包含大量测试的大型项目。我想直接分析这些测试而不是编写额外的分析脚本。有没有办法调用py.test
测试发现模块,以便我可以递归地检索项目的所有测试?(这个unittest
发现是不够的,因为我们在生成器函数中产生了很多参数化的测试,这些测试是不被 识别的unittest
)。这样我至少可以只用 1 个额外的脚本来解决问题。
python - 在 Python 中优化 for 循环以更快地工作
我正在努力优化 Python 代码。目标是获取一个整数列表并计算并输出列表中有多少对。一对被认为是 2 个数字,差异为K
(2
在这种情况下) 例如:
这里的对将是(1,3), (5,3), (2,4)
答案是:3
我想提高代码效率,当前版本需要 8 秒或更长时间。
cProfile
告诉我这for number in sorted_array:
是唯一需要花费所有时间的线路。但我似乎无法弄清楚如何优化for
循环。
有没有人有任何经验或建议?太感谢了。
编码:
c简介:
profiling - 可以profilehooks,写.prof文件吗?
我想将 profilehooks 输出写入 .prof 文件。为了将文件转换为 qcachgrind 文件并可视化分析结果。(我不能使用 cProfile 作为 cProfile,不分析代码)
python - 函数调用需要 10 秒
我用 cProfile 分析了我的代码以找到瓶颈,我发现了一个特殊的瓶颈。
我的代码结构如下:
cProfile 总共运行了 17.554 秒。就总时间而言,最高功能是:
如您所见,A1Distance 大约需要 10 秒并被调用一次。如果我将 pr.enable() 和 pr.disable() 放在函数内部,则输出相同,但 A1Distance 没有 10 秒。因此,仅调用一个函数似乎需要 10 秒。关于可能是什么原因/解决方法的任何建议?
python - 来自集合模块的双端队列真的比 Python 中的列表快 100 倍吗?
我的代码有问题吗?deque
当使用collections
模块而不是常规列表来计时一个简单的函数时,我的速度提高了 100 倍。
如果我的代码没问题,那么使用列表有什么意义呢?为什么不完全切换到deque
?
python - 使用 Argument Parser 的函数上的 cProfile
我正在尝试在 Python 脚本上运行cProfile,该脚本使用ArgumentParser来解析从命令行给出的参数。在参数中,脚本用于数据输入的两个文件名。
我想知道我是否能够通过cProfile以某种方式提供参数,以便能够使用实际数据分析我的函数。
非常感谢您提前。
pycharm - 使用 PyCharm 查看分析数据
有谁知道是否有办法在 PyCharm 中打开外部 .pstat 文件进行查看?当我尝试时,我被要求选择文件类型,但似乎没有它的选项(即使那些视图用于内部生成的配置文件数据)。
python - 如何使用 cProfile 模块对 python 中的每个函数进行计时?
我有一个 Python 程序,它接受几个命令行参数并在几个函数中使用它们。如何使用 cProfile(在我的代码中)获取每个函数的运行时间?(我仍然希望程序在完成后正常运行)。但是我不知道如何,例如我无法使用
cProfile.run('loadBMPImage(sys.argv[1])')
测试函数 loadBMPImage 的运行时间。我不能sys.argv[1]
用作论据。如果每个函数都依赖于命令行参数,我知道如何使用 cProfile 测试每个函数的运行时间并打印到标准输出吗?此外,cProfile 必须集成到代码本身中。谢谢
python - 如何在不修改用户代码的情况下超时使用 cProfiler 分析代码?
在我的工作中,我经常编写代码来读取文件中的行,并且一次处理这些行。
有时候行处理比较复杂,文件比较长,比如今天处理200行大概需要一分钟,文件总行数是175k。
我想弄清楚我的代码的哪一部分花费了很长时间,为此我决定在 Python 中使用 cProfiler。
问题是我实际上无法运行整个代码,因为那会花费太长时间,如果我在退出信号中途中断进程,那么我的 cProfiler 也会死掉,而不会生成报告并使用逻辑修改代码以在一定时间后死掉只阅读前 K 行很烦人(因为我在工作中经常针对不同类型的数据做这种事情。)如果可能的话,我想避免仅为了分析而添加选项。
告诉 cProfiler 运行 3 分钟、分析发生的情况、停止然后报告其发现的最干净的方法是什么?