Python虛擬機內存管理的研究
本文關鍵詞:Python虛擬機內存管理的研究
更多相關文章: Python 虛擬機 內存管理 貪心策略 實證研究 垃圾回收 優(yōu)化
【摘要】:動態(tài)語言的簡潔性,易學性縮短了軟件開發(fā)人員的開發(fā)周期,所以深受研發(fā)人員的喜愛。其在機器學習、科學計算、Web開發(fā)等領域都有廣泛的應用。在眾多的動態(tài)語言中,Python是用戶數(shù)量較大的動態(tài)語言之一。本文主要研究Python對內存資源的管理。Python開發(fā)效率高,但是運行效率常為人詬病,主要原因在于一切皆是對象的語言實現(xiàn)哲學導致在某些基本類型上的設計比較臃腫。在一切皆是對象的哲學基礎上,Python虛擬機將所有的對象分成非容器對象和容器對象,兩種對象都是基于內存池進行管理。操作系統(tǒng)提供的庫函數(shù)malloc是一個通用的內存管理方案,有很多的局限性:碎片問題、效率問題、內存泄露和懸掛指針,所以Python虛擬機在malloc基礎上采用池化的內存解決方案和自動內存管理。本文詳細的解讀了Python虛擬機的非容器對象和容器對象池化內存管理方案,基于引用計數(shù)的垃圾回收機制及其循環(huán)垃圾回收模塊。之后本文闡述了Python虛擬機在非容器對象內存池管理算法上存在內存強占和碎片的缺陷并提出了一種基于貪心策略的內存申請和釋放的算法。最后,針對非容器對象在開源的實驗平臺Unladen-Swallow上驗證本文方法在Web應用領域的高效性。針對循環(huán)引用的問題,本文進行了關于Python虛擬機內存使用的實證研究,選取了六種不同的Python項目,并獲取這六種不同的開源項目運行過程中的動態(tài)信息。實驗的數(shù)據(jù)顯示,循環(huán)垃圾出現(xiàn)頻率不高。傳統(tǒng)的基于TD算法的循環(huán)垃圾檢測算法需要掃描候選集三次,而一種輕量級的循環(huán)垃圾回收算法只需掃描一次,但是其完備性不足。本文采用輕量級垃圾回收技術和傳統(tǒng)的TD算法相結合的算法并充分考慮了Python循環(huán)垃圾回收的特點對循環(huán)垃圾回收算法進行了優(yōu)化并進行了實驗驗證。
【關鍵詞】:Python 虛擬機 內存管理 貪心策略 實證研究 垃圾回收 優(yōu)化
【學位授予單位】:南京大學
【學位級別】:碩士
【學位授予年份】:2014
【分類號】:TP302
【目錄】:
- 摘要5-7
- ABSTRACT7-11
- 第一章 引言11-15
- 1.1 研究動因11-12
- 1.2 研究現(xiàn)狀12-13
- 1.3 本文工作13-14
- 1.4 論文結構14-15
- 第二章 Python的內存管理15-26
- 2.1 非容器對象的管理15-17
- 2.1.1 非容器對象內存池15-16
- 2.1.2 非容器對象內存池特征分析16-17
- 2.2 容器對象的管理17-20
- 2.2.1 Arena17-18
- 2.2.2 Pool18-19
- 2.2.3 Block19-20
- 2.2.4 釋放算法20
- 2.3 Python的垃圾回收機制20-25
- 2.3.1 引用計數(shù)垃圾回收機制21-22
- 2.3.2 Python解決循環(huán)引用的算法22-25
- 2.4 本章小結25-26
- 第三章 Python內存管理的實證研究26-32
- 3.1 問題的提出26-27
- 3.2 實驗設計27-29
- 3.3 實驗結果29-30
- 3.4 實驗數(shù)據(jù)分析30-31
- 3.5 本章小結31-32
- 第四章 非容器對象管理的優(yōu)化以及其應用32-39
- 4.1 Python的Web應用32
- 4.2 非容器對象管理優(yōu)化32-34
- 4.2.1 Python VM非容器對象管理算法的缺陷33
- 4.2.2 基于貪心的非容器對象管理算法33-34
- 4.3 貪心式內存管理模型特征分析34-35
- 4.4 實驗35-38
- 4.4.1 實驗對象35-36
- 4.4.2 實驗綜述36
- 4.4.3 實驗結果及分析36-38
- 4.6 本章小結38-39
- 第五章 循環(huán)垃圾回收器優(yōu)化39-53
- 5.1 基本概念描述39-41
- 5.2 輕量級的循環(huán)垃圾回收算法41-46
- 5.2.1 計算圖41-42
- 5.2.2 偽代碼42-44
- 5.2.3 LWCC算法的缺陷44-46
- 5.3 Python循環(huán)垃圾回收算法優(yōu)化46-50
- 5.3.1 Python循環(huán)垃圾回收算法46-48
- 5.3.2 一種LWCC和TD混合的循環(huán)垃圾回收算法48-49
- 5.3.3 算法的正確性說明49-50
- 5.4 實驗50-52
- 5.5 本章小結52-53
- 第六章 總結與展望53-55
- 6.1 工作總結53-54
- 6.2 未來工作54-55
- 參考文獻55-59
- 附錄 攻讀碩士學位期間發(fā)表論文情況59-60
- 致謝60-61
【相似文獻】
中國期刊全文數(shù)據(jù)庫 前10條
1 姚競;;面向項目的“Python程序設計”教學實踐與研究[J];福建電腦;2009年07期
2 透明;;關于Python[J];程序員;2002年03期
3 王寧,汪飛星;基于Python開發(fā)氣象服務器運行系統(tǒng)界面[J];微機發(fā)展;2003年07期
4 湯韜;;Python庫簡介[J];程序員;2006年06期
5 高昂;;Python近況全接觸[J];程序員;2009年04期
6 郭芬;劉明;;Python垃圾收集器原理研究及應用[J];信息技術;2009年07期
7 王麗;;Python的元類編程研究[J];電腦編程技巧與維護;2011年06期
8 李愛寧;唐勇;孫曉輝;劉昕彤;;基于Python語言的3DES算法優(yōu)化[J];計算機系統(tǒng)應用;2011年08期
9 曾浩;;Python在其它語言中的應用研究[J];大眾科技;2012年07期
10 鞠文飛;曾智銳;;使用Python開發(fā)跨平臺的單詞助記程序[J];電腦編程技巧與維護;2012年24期
中國重要會議論文全文數(shù)據(jù)庫 前5條
1 ;Development of Python-based ArcGIS Tools for Spatially Balanced Forest Sampling Design[A];Information Technology and Computer Science—Proceedings of 2012 National Conference on Information Technology and Computer Science[C];2012年
2 伊鵬躍;于哲峰;汪海;;基于Abaqus/Python的三維復合材料層壓板有限元建模參數(shù)化開發(fā)[A];第17屆全國復合材料學術會議(復合材料結構設計與性能表征分論壇)論文集[C];2012年
3 黃佳聰;高俊峰;;基于Python編程語言的空間動態(tài)模型集成[A];自然地理學與生態(tài)安全學術論文摘要集[C];2012年
4 于文麗;;基于Python的空間自相關模式研究[A];中國地理學會百年慶典學術論文摘要集[C];2009年
5 郭霞;關志東;劉遂;陳萍;劉佳;王欣晶;邱太文;;基于Python的Abaqus二次開發(fā)在層壓板修理模擬中的應用[A];計算機輔助工程及其理論研討會2013(CAETS2013)論文集[C];2013年
中國重要報紙全文數(shù)據(jù)庫 前6條
1 高壽福;無所不能的靈蛇——Python[N];中華讀書報;2001年
2 ·特約作者 鄒肇輝;BT編程的王者[N];電腦報;2005年
3 易水;IT新詞集錦(403)[N];計算機世界;2004年
4 本報記者 蒙克;顛覆傳統(tǒng)數(shù)據(jù)庫的“玩具”[N];網絡世界;2009年
5 ;Ruby on Rails[N];計算機世界;2006年
6 周蓉蓉;中低端Unix直指Linux[N];計算機世界;2006年
中國碩士學位論文全文數(shù)據(jù)庫 前10條
1 周健;Python虛擬機內存管理的研究[D];南京大學;2014年
2 胡忠?guī)?基于Python的企業(yè)安全漏洞管理方法研究[D];北京郵電大學;2015年
3 王國強;基于Python的SDG-HAZOP軟件中推理規(guī)則問題的研究[D];北京化工大學;2009年
4 鄺洪勝;基于Python的電商導購APP設計與實現(xiàn)[D];華南理工大學;2015年
5 李悅;基于Python+Tkinter的Linux GUI輔助管理工具的設計與實現(xiàn)[D];吉林大學;2009年
6 趙強;用于PCB版圖審查的Python腳本子系統(tǒng)設計與實現(xiàn)[D];西安電子科技大學;2014年
7 趙明洪;Python程序設計題的查重研究[D];新疆農業(yè)大學;2015年
8 曹明君;基于Visual Studio與Python平臺開發(fā)有限元分析結果自動后處理系統(tǒng)[D];青島理工大學;2015年
9 王健;Python插件在CG制作管理中的應用[D];南京理工大學;2008年
10 張正陽;基于Python的戶外通訊設備連接關系的挖掘研究[D];蘇州大學;2015年
,本文編號:821066
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/821066.html