Python虚拟机内存管理的研究

被引量 : 0次 | 上传用户:aihaiyuguijing
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
动态语言的简洁性,易学性缩短了软件开发人员的开发周期,所以深受研发人员的喜爱。其在机器学习、科学计算、Web开发等领域都有广泛的应用。在众多的动态语言中,Python是用户数量较大的动态语言之一。本文主要研究Python对内存资源的管理。Python开发效率高,但是运行效率常为人诟病,主要原因在于一切皆是对象的语言实现哲学导致在某些基本类型上的设计比较臃肿。在一切皆是对象的哲学基础上,Python虚拟机将所有的对象分成非容器对象和容器对象,两种对象都是基于内存池进行管理。操作系统提供的库函数malloc是一个通用的内存管理方案,有很多的局限性:碎片问题、效率问题、内存泄露和悬挂指针,所以Python虚拟机在malloc基础上采用池化的内存解决方案和自动内存管理。本文详细的解读了Python虚拟机的非容器对象和容器对象池化内存管理方案,基于引用计数的垃圾回收机制及其循环垃圾回收模块。之后本文阐述了Python虚拟机在非容器对象内存池管理算法上存在内存强占和碎片的缺陷并提出了一种基于贪心策略的内存申请和释放的算法。最后,针对非容器对象在开源的实验平台Unladen-Swallow上验证本文方法在Web应用领域的高效性。针对循环引用的问题,本文进行了关于Python虚拟机内存使用的实证研究,选取了六种不同的Python项目,并获取这六种不同的开源项目运行过程中的动态信息。实验的数据显示,循环垃圾出现频率不高。传统的基于TD算法的循环垃圾检测算法需要扫描候选集三次,而一种轻量级的循环垃圾回收算法只需扫描一次,但是其完备性不足。本文采用轻量级垃圾回收技术和传统的TD算法相结合的算法并充分考虑了Python循环垃圾回收的特点对循环垃圾回收算法进行了优化并进行了实验验证。
其他文献
比较中国作家安逸的长篇小说《芥末男女》和与其同时代的美国电影《缘分天注定》,发现两部作品虽然同为都市爱情题材,同是言情,却表达了截然不同的爱情婚姻观。前者的主人公
目的研究大、小鼠穿梭箱实验最佳训练条件,为神经系统相关实验研究提供参考。方法利用大、小鼠穿梭实验视频分析系统,考察不同实验条件对大、小鼠学习记忆形成及保持的影响。
本文以可持续发展为目标,以环境—经济系统为研究对象,研究其协调度的定量分析方法,建立了环境-经济系统协调度模型,应用此模型分析了某市环境-经济系统协调发展现状及趋势。
<正>分级资产管理产品作为具有中国本土特点的金融创新产品,业界对其是属于融资性的产品还是投资性的产品一直存在着不同的认识。《关于规范金融机构资产管理业务的指导意见
<正>液压式动力转向系统的故障除传统转向系统的故障外,常见的主要有因液压传动部分泄漏、渗入空气,转向油泵不良,控制阀失效等引起的转
由乙型肝炎病毒引起的乙型肝炎是一种发病率高、病死率高的传染病,现已成为全球性重大的公众健康问题。目前临床上应用和正在临床研究中的抗乙型肝炎病毒药物分为免疫调节剂
Wnt信号通路参与细胞的分化、增殖和凋亡,与诸多疾病密不可分。糖原合酶激酶3(GSK3)是生物体内诸多信号通路的参与者,是Wnt信号通路的上游作用物,对其起着关键作用。糖尿病肾
伴随着医疗卫生事业的发展和医疗改革的深化,我国的医疗保障体系不断完善,对保障人民的身体健康起到了重要作用。本文总结介绍了建国以来我国城镇医疗保障制度的发展经历和各
<正>芒康县盐井镇在横断山腹地,位于西藏东部门户,川、滇、藏三省交汇的澜沧江畔。这个地方有一个古盐田,曾经和茶马古道一样扬名四方。早在唐朝,人们就发现澜沧江边的岩层里
开放服务已成为互联网的重要趋势,越来越多的企业和个人将Web服务发布在互联网上,第三方Web服务不仅成为我们日常生活以及学习工作中不可缺少的一部分,也是未来开放软件的重