检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
机构地区:[1]中国科学技术大学计算机科学与技术学院,安徽合肥230027
出 处:《电子技术(上海)》2017年第7期17-23,共7页Electronic Technology
摘 要:主流的Java Script引擎为了优化Java Script程序的性能,都采用JIT(Just-In-Time)编译技术在运行时对各个程序点中变量的类型集合进行假设,并在此基础上对程序进行类型特化。但是Java Script的动态类型和基于原型的语言特性使得Java Script程序的类型可预测性不高,这导致引擎所做出的假设经常失败,频繁引发Deoptimization(脱优化),带来额外的开销。文章使用Java Script引擎(V8)分析了三个常用的测试集(Octane、Sun Spider和Kraken)中的48个Java Script程序,找到三种常见的Deoptimization模式,并向程序员给出改善这些模式的策略。本文还参照这些策略修改了被分析的程序,并进行了性能测试。结果显示依据本文给出的策略进行修改能减少Deoptimization。Most Java Script engines adopt JIT(Just-In-Time) compilation technique to optimize the performance of Java Script programs by type specialization which is based on type assumptions on every program point made by engines. But as a language with dynamic types and prototype-based features, type predictability in Java Script programs is always a shorthand which makes these assumptions fail and causes Deoptimization frequently bringing extra overhead. Hence this paper uses a Java Script engine(V8) to analyze 48 programs in three benchmarks(Octane, Sun Spider and Kraken), abstracts four prevalent patterns and provide programmers with programming suggestions. This paper also modifies these programs according to these suggestions and evaluate them, with results proving the effectiveness of reducing the amount of Deoptimization by applying our strategies.ram, and make engine building a more efficient type systems and generation faster code. The experiments conducted show that the optimizing technique can discover connections in between types and improve the speed of programs.
关 键 词:JAVASCRIPT JAVASCRIPT引擎 Deoptimization Just-In-Time编译 代码模式
分 类 号:TP393.092[自动化与计算机技术—计算机应用技术]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.90