【与CPython相比,PyPy占用大量内存】教程文章相关的互联网学习教程文章

通过在IPython中绘图分配的清除内存【代码】

我在IPython QtConsole(和Notebook)中绘制了一些大图.这些占用了很多内存,但是一旦它们被绘制出来,我就不再需要它们了,它们就可以了. 我怎样才能释放内存? 以下都不起作用:close() clf() cla() %reset释放内存的唯一事情就是重新启动内核,我并不总是想这样做(比如我通过一个漫长的过程来达到一个特定点)[确切地说,%reset确实释放了一些内存,但是不像重新启动内核那样多. 如何复制问题:plot(arange(2e7))您可能需要更大或更小的...

python列表列表的内存消耗【代码】

我最近正在研究的一个代码被发现使用大约200MB的内存来运行,我很难过为什么它需要这么多. 基本上它将一个文本文件映射到一个列表中,其中文件中的每个字符都是它自己的列表,其中包含该字符以及它到目前为止(从零开始)显示为两个项目的频率. 所以’abbac ……’会是[[‘a’,’0′],[‘b’,’0′],[‘b’,’1′],[‘a’,’1′], [ ‘C’, ‘0’],…] 对于长度为100万个字符的文本文件,它使用了200MB. 这是合理的还是我的代码正在做的其...

Python内存管理机制【图】

Python的内存管理机制:引入计数、垃圾回收、内存池机制一、引入计数 1、变量与对象In sum, variables are created when assigned, can reference any type of object, and must be assigned before they are referenced. This means that you never need to declare names used by your script, but you must initialize names before you can update them; counters, for example, must be initialized to zero before you can a...

在将大文件逐行读入Python2.7时使用内存【代码】

堆栈溢出, 我正在研究涉及一些大型文件(10-50Gb)的基因组学项目,我想将其读入Python 2.7进行处理.我不需要将整个文件读入内存,而是简单地逐行读取每个文件,执行一项小任务,然后继续. 我发现了类似的SO问题,并试图实现一些解决方案: Efficient reading of 800 GB XML file in Python 2.7 How to read large file, line by line in python 当我在17Gb文件上运行以下代码时: 脚本1(itertools):#!/usr/bin/env python2import sys im...

如何使用Python的csv模块有效地将字典输出为csv文件?内存不足错误【代码】

我正在尝试使用Python的CSV模块将字典列表序列化为csv文本文件.我的列表有大约13,000个元素,每个元素都是一个包含?100个键的字典,由简单的文本和数字组成.我的函数“dictlist2file”只是调用DictWriter来序列化它,但是我的内存错误. 我的功能是:def dictlist2file(dictrows, filename, fieldnames, delimiter='\t',lineterminator='\n', extrasaction='ignore'):out_f = open(filename, 'w')# Write out headerif fieldnames != N...

python – os.walk泄漏内存吗?【代码】

当我在Windows中运行这个Python脚本时,进程增长,看不到明显的结束:import osfor i in xrange(1000000):for root, dirs, files in os.walk(r"c:\windows"):pass我误会了什么吗?(我使用的是Python 2.7.3.)解决方法:这是由于os.path.isdir中发现的内存泄漏;见Huge memory leak in repeated os.path.isdir calls?您可以使用Unicode编码的路径字符串自行测试 – 应该没有泄漏. os.path.isdir用于os.walk实现:islink, join, isdir = p...

python是否在相邻的内存位置存储类似的对象?

Python是否在彼此更近的内存位置存储类似的对象?因为类似对象的id,比如列表和元组,比str类型的对象更接近彼此.解决方法:不,当然除了巧合.虽然这是高度实现和特定于环境的,并且实际上存储器管理方案将页面大小的内存区域专用于相同类型的对象,但是我所知道的Python实现没有展示您描述的行为.除了小数字之外,它们有时会被隐藏在引擎盖下并且可能彼此相邻. 您所看到的可能是因为字符串文字是在导入时创建的(字节代码中的常量的一部分...

将模型状态从内存或python opencv中的字符串加载到FaceRecognizer中【代码】

是否可以从内存或字符串而不是从保存的文件加载FaceRecognizer的模型. API文档未显示“FromString或Buffer”版本. 当前代码从文件加载:model = cv2.createLBPHFaceRecognizer() model.load('model.xml')更多背景.预先存储的模型存储在S3中.我不想从S3检索然后保存到磁盘才能使用.我宁愿直接从s3加载到模型中或将xml字符串/文档加载到模型中.解决方法:不幸的是,不可能从python(cv2)atm. 虽然你可以从c,string yml; // the whole sc...

python – 内存限制在海量文本文件上使用正则表达式【代码】

我有一个以下形式的文本文件:('1', '2') ('3', '4')...我试图让它看起来像这样:1 2 3 4 etc...我一直在尝试使用python中的re模块,将re.sub命令链接在一起,如下所示:for line in file:s = re.sub(r"\(", "", line)s1 = re.sub(r",", "", s)s2 = re.sub(r"'", "", s1)s3 = re.sub(r"\)", "", s2)output.write(s3) output.close()它似乎工作得很好,直到我接近输出文件的结尾;然后它变得不一致并停止工作.我认为这是因为我正在处理的...

与CPython相比,PyPy占用大量内存【代码】

我使用python来解决SPOJ的大输入测试problem并遇到了一个非常奇怪的事情.我提交了同样的内容 使用PyPy和Python 2的代码.结果如下所示:正如预期的那样,与CPython相比,使用PyPy的代码运行得更快.但与此同时,内存使用量增加了7倍!我在网上进行了搜索,但我找不到任何证据表明PyPy的内存使用量远远超过CPython.可以somone请解释内存使用量的巨大差异? 我也认为可能是因为我的代码.因此,我在下面发布了我的代码:import io, sys, atex...

python的内存管理机制

Python引入了一个机制:引用计数。 引用计数 python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。 总结一下对象会在一下情况下引用计数加1: 1.对象被创建:x=4 2.另外的别人被创建:y=x 3.被作为参数传递给函数:foo(x) 4.作为容器对象的一个元素:a=[1,x,33] 引用计数减少情况 1.一...

从python运行命令行并从内存管道参数【代码】

我想知道是否有办法在python中运行命令行可执行文件,但是从内存中传递参数值,而不必将内存数据写入磁盘上的临时文件.从我所看到的,似乎subprocess.Popen(args)是从python脚本中运行程序的首选方式. 例如,我在内存中有一个pdf文件.我想使用大多数Linux发行版中的命令行函数pdftotext将其转换为文本.但我不希望将内存中的pdf文件写入磁盘上的临时文件.pdfInMemory = myPdfReader.read() convertedText = subprocess.<method>(['pdfto...

python – 概率解析器的内存使用【代码】

我正在为Range Concatenation Grammar编写一个CKY解析器.我想使用树库作为语法,所以语法会很大.我用Python编写了一个原型1,当我模拟几十个句子的树库时它看起来效果很好,但是内存使用是不可接受的.我尝试用C语言编写,但到目前为止,由于我之前从未使用过C,所以非常令人沮丧.这是一些数据(n是语法所基于的句子数):n mem 9 173M 18 486M 36 836M这种增长模式是给出最佳优先算法的预期,但是开销量是我所关心的.根据heapy的内...

Python:导入模块的内存成本

内存成本显然取决于模块的大小,但我只是在寻找一个通用的答案:在Python中导入模块通常是昂贵还是便宜?如果我有几十个小脚本可能在整个应用程序期间留在内存中,那么占用多少内存?解决方法:听起来你并不担心时间成本(好;那会很愚蠢,因为模块只导入一次)但是内存成本.我告诉你:如果你需要这些模块中的所有功能,那么你打算如何避免将它们全部留在内存中?不妨以最合乎逻辑的方式导入东西. 也就是说,在Python中,import是一个语句,而...

python学习之内存驻留机制简述【代码】

第四章 4.1 小数据池 4.1.1 代码块 一个模块,一个函数,一个类,甚至一个command命名都可以称之为一个代码块。 官方解释: A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are blocks: a module, a function body, and a class definition. Each command typed interactively is a block. A script file (a file given as standard in...