草庐IT

tracemalloc

全部标签

python - 记录文件打开调试的位置 "ResourceWarning: unclosed file"

我正在移植library到Python3。弹出的问题之一是所有"unclosedfile"warnings运行测试套件时。我已经解决了95%的警告,但还有一些警告仍然存在,我正在努力寻找代码中打开文件的位置。有什么方法可以让Python在打开文件时记录堆栈帧,并在出现警告时显示堆栈帧?我会对stdlib代码的猴子补丁感到满意,因为我只会将其用于一次性调试。 最佳答案 早在2013年就有一篇关于此的python-dev帖子,thispost可能会帮助你。特别是,使用tracemalloc完成了一些猴子修补。https://bitbuc

python - 我能找出导致我的 Python MemoryError 的分配请求吗?

上下文我的小型Python脚本使用一个库来处理一些相对较大的数据。此任务的标准算法是动态规划算法,因此大概“幕后”库分配了一个大数组来跟踪DP的部分结果。事实上,当我尝试给它相当大的输入时,它会立即给出一个MemoryError。最好不要深入库的深处,我想弄清楚是否值得在具有更多内存的不同机器上尝试这个算法,或者尝试减少我的输入大小,或者它是否丢失导致我尝试使用的数据大小。问题当我的Python代码抛出MemoryError时,是否有一种“自上而下”的方式让我调查我的代码尝试分配的内存大小是什么导致了错误,例如通过检查错误对象? 最佳答案

python - 我能找出导致我的 Python MemoryError 的分配请求吗?

上下文我的小型Python脚本使用一个库来处理一些相对较大的数据。此任务的标准算法是动态规划算法,因此大概“幕后”库分配了一个大数组来跟踪DP的部分结果。事实上,当我尝试给它相当大的输入时,它会立即给出一个MemoryError。最好不要深入库的深处,我想弄清楚是否值得在具有更多内存的不同机器上尝试这个算法,或者尝试减少我的输入大小,或者它是否丢失导致我尝试使用的数据大小。问题当我的Python代码抛出MemoryError时,是否有一种“自上而下”的方式让我调查我的代码尝试分配的内存大小是什么导致了错误,例如通过检查错误对象? 最佳答案

python - 如何在 Python 中分析内存使用情况?

我最近对算法产生了兴趣,并开始通过编写一个简单的实现然后以各种方式对其进行优化来探索它们。我已经熟悉用于分析运行时的标准Python模块(对于大多数事情,我发现IPython中的timeit魔术函数就足够了),但我也对内存使用感兴趣,因此我可以探索这些权衡以及(例如,缓存先前计算值的表与根据需要重新计算它们的成本)。是否有一个模块可以为我分析给定函数的内存使用情况? 最佳答案 Python3.4包含一个新模块:tracemalloc.它提供了有关哪些代码分配了最多内存的详细统计信息。这是一个显示分配内存的前三行的示例。fromcol

python - 如何在 Python 中分析内存使用情况?

我最近对算法产生了兴趣,并开始通过编写一个简单的实现然后以各种方式对其进行优化来探索它们。我已经熟悉用于分析运行时的标准Python模块(对于大多数事情,我发现IPython中的timeit魔术函数就足够了),但我也对内存使用感兴趣,因此我可以探索这些权衡以及(例如,缓存先前计算值的表与根据需要重新计算它们的成本)。是否有一个模块可以为我分析给定函数的内存使用情况? 最佳答案 Python3.4包含一个新模块:tracemalloc.它提供了有关哪些代码分配了最多内存的详细统计信息。这是一个显示分配内存的前三行的示例。fromcol