欢迎来到天天文库
浏览记录
ID:50386906
大小:10.69 MB
页数:88页
时间:2020-03-05
《Lua虚拟机的机制分析.pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、'.’-心?一--?七—,一一.'?-?'?J"|,r-.-一,.:一.可-一Vr:r一.作,电峡.r―'■"'-‘::聲葦凌碱皆.冷私;^欺古.一;V:..議遷苗'V舊多%讓課诚.讀1.麗Ir感;雞嘴*:彎I-..—:..节...:);;(工.巧程硕±.媒巧弊;詳'三户;鄭运卢、'^-ilt..争藝Lua虚拟机的机制分桥繁伊'.''哪'資鑑'-:t.三惟遵.;.v;;:羣蘇舞S^參懲簿議i^心違臂.’.姑.^V.|;方1^誓键:義兹麥:;.|较^攀;.遂齡識
2、.::.'、步...二邊.、r\?;:文V.;^心并.冷.…終’.A?‘':..-.备矣-.餐.茲.巧鳥填护t色:;?'、—襄心.二〇—五年五月猜#1若茜.:苗為'一^',V,打“'.->个.。.心一…..-.:孝舞寒革难^廣■-■/f^ir:-"■■■■^■^::.,:^.:;:/::.'.心.-.,^下浆一,,..,:v.,.‘古..職辛..式.;:、咕赤才-巧V或j:.扣分类号:学校化码11845UDC;;2111205082密级学号
3、广东工业大学硕±学位论文(工程硕±)Lua虚拟化的机制分折王诗伟指导教师姓名、职称:李代平教授专业或领域名称;计耸机巧术学生所属学院:计算机学院论文答辩日期二〇—五年五月;ADissertationSubmited化加孤gdongUniversityofTechnolofortheDereeofMastergygMasterofEnineerin(gg)AnalysisontheMechanismofLuaVirtualMachineCan出dat
4、e:Wang如iweiSuervise。Prof丄DaipipngMay20巧SchoolofComputerScienceandTechnologyGuangdongUniversityofTehnologyGuangzhou,Guangdong,P.R.China,510006摘要摘要自Lua从己西天主教大学被开发出来已经有20多年。随着计算机应用技术的飞速发展和高级脚本语言的不断完善,Lua能很方便地嵌入到应用程序并为它们提供灵活的扩展和定制功能,Lua。与其它同类
5、的高级解释型脚本语言相比有着两点非常重要的特性:简洁,Lua、高效。多数实验表明在程序执行效率上要比大部分的脚本语言(如Python、Perl等)高。另外Lua还提供非常丰富和实用的功能,比如函数式编程(所有一的函数都是第类值)、协同程序、自动内存管理等。由于Lua是用C编写而成,它与C++一/C能非常方便的交互,而所有这些特性都归功于它有个精简的、巧妙的、高效的Lua虚拟机的设升。一Lua在相当长段时间内都使用堆找式的虚拟机,而从5.0版本后才改用寄存器式的虚拟机。基于寄存器的虚拟机减少了指令总数和指令执行
6、时堆找调整的开销因此执行效率得到提高。虚拟机的效率除了与指令操作数存储结构有关外还与编译和解释过一程相关,。解释性源程序般要经过编译成字节码阶段然后由解释器逐条解释和执行L一字节码。解释器中执行框架的设计直接影响了解释效率,ua采用了种最简单的执行-itchcase)。框架设计方式(sw,由于它指令数较少,因此也获得了较好的执行效率较新版本的Python虚拟机在采用了较好的指令分派方式后也获得了效率提升,而其它的采用效率更高方案的虚拟机必然也在设计上更复杂或占用更多内存。除此之外,垃圾一回收(GC)算法也在定程
7、度上影响了虚拟机的效率,虽然LuaGC经过了若干技术一比如分代的一的优化、增量式的垃圾回收有着与其他GC机制相差不大的效率。但LuC-与其它虚拟机GC机制相比,aG主体仍使用较为古老的标记清除算法,该算法在标记和回收过程上都比较耗时而且在内存利用率(内存碎片的产生)方面有劣势,因而在性能上也略低于许多其它的虚拟机,LuaGC机制仍需要改善。本文首先简单的介绍了Lua的语言特性;然后深入分析了Lua虚拟机的实现,特别对Lua的编译过程、线程执行、函数调用和GC过程进行了深度探究;其次将Lua虚拟机中的关
8、键技术与Python虚拟机的实现进行了比对,解释了其效率差异的原因;之后再对Lua虚拟机执行框架和GC机制进行改进,在执行框架中加入了查表分派和uaGC超级指令方式,在GC方面提出了
此文档下载收益归作者所有