基于PKUnity86系统芯片的JavaScript引擎优化策略设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:huier0001
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,为了提供更丰富的互联网交互功能,Web应用程序广泛使用JavaScript作为客户端编程语言,JavaScript程序的的执行性能变得日趋重要,JavaScript引擎的性能优化成为当今浏览器领域的研究热点之一。本文面向PKUnity86系统芯片,使用软硬件结合的方法开展JavaScript引擎的性能分析与优化工作,发现在x86平台下,V8 JavaScript引擎仅在处理器支持SSE2扩展指令系统时才能高效执行JavaScript程序。由于PKUnity86系统芯片暂不支持SSE2扩展指令系统,因此本文旨在设计和实现一种在无SSE2指令支持情况下的JavaScript引擎优化策略。本文主要工作如下:  本文对当前主流的JavaScript引擎的架构和相关优化技术进行了分析和总结;通过评测基准程序对JavaScript引擎的性能进行量化对比分析,选定性能较优的V8 JavaScript引擎作为研究对象,深入分析了V8引擎的内部模块结构和技术特点;发现V8引擎基于SSE2扩展指令系统的本地优化代码生成不适用于PKUnity86系统,而基于方法的即时编译器直接将抽象语法树编译成本地代码,虽然减少了编译延迟但缺少优化,导致JavaScript程序执行性能显著降低。  本文在V8引擎的即时编译器基础上,设计和实现了一种基于中间代码分析和寄存器分配的优化策略。将抽象语法树转化为静态单赋值形式(Static SingleAssignment,SSA)的高级中间表示,结合热点函数监测机制对中间代码进行优化;针对PKUnity86平台特性采用内存映射方法改进了线性扫描寄存器分配算法;最后使用FPU浮点指令、MMX扩展指令与x86通用指令重新设计并实现了适合PKUnity86系统的本地代码生成机制,以实现对JavaScript程序性能的优化。  在此基础上,本文将优化后的V8引擎整合到Chromium浏览器中,并使用Sunspider和Octane基准测试程序以及微博、在线邮箱等JavaScript代码丰富的Web应用程序对优化后的V8引擎进行性能评测。实验结果表明,相比于优化前,优化后的V8引擎在PKUnity86系统上Sunspider整体加速约为66%,Octane整体加速约191%;微博、在线邮箱模块的加载和操作延迟减少了约50%。
其他文献
随着IP电话、视频点播和视频电话等网络实时多媒体应用的出现,传统网络提供的"尽力转发"服务已经不能满足需要.这些多媒体业务的出现对IP网络中的服务质量(Quality of Servic
该文系统地研究了特殊科学发现领域的分类和组合学习数据挖掘方法及其应用.在经典的决策树分类方法基础上,提出属性权信息增益方法,在经典的助推组合学习算法基础上,提出了属
该文的研究就是探索在保持高性能的同时,提高并行图像处理系统的可用性和应用程序可移植性,促进并行图像处理技术的实用化.与直接实现图像处理算法向并行计算结构映射的传统
本文针对虚拟化计算机实验教学环境(pVCE)所面临的需要存储大量用户课程虚拟机镜像的问题,基于Sheepdog镜像文件存储系统的框架实现了面向pVCE场景的镜像存储系统。  本文首
随着诸如手机、平板电脑等移动手持设备的普及,VANET(Vehicular Ad hocNETwork)中的参与节点不仅仅局限于道路上的车辆,路边行人和车内乘客携带的移动设备也能加入到车辆网络中
随着信息技术的飞速发展,信息系统在人事管理工作中的应用已成必然。本论文为开发成都飞机设计研究所的专用人事管理信息系统,对该所的人事管理工作进行全面、详细的调查了解,运
近年来,随着计算机网络在全球范围内的普及,计算机网络所涉及的行业日益增多,从而使整个社会的运行越来越依赖于计算机网络.在这种情况下,网络黑客的崛起对整个计算机网络的
为保证Web服务通信的安全性,该文分析并研究了上述两个规范及相关的XML安全标准与技术,描述了我们研制的基于Web服务的应用支撑环境及其支持的几种典型的Web服务应用模式,分
本文首先介绍了标记语言的含义以及XML、HTML和SGML之间的关系的历史背景知识,针对一些对XML语义的概念的模糊认识,提出了一个分层次来阐述XML语义的概念的观点。在这个基础上,
该文以评测星载计算机的容错性能为应用背景,设计了一种基于软件实现的故障注入系统.重点研究了用软件实现的故障注入方法,并对其进行了仿真. 首先阐述故障注入方法在评测星