【24h】

Improved Type Specialization for Dynamic Scripting Languages

机译:改进的动态脚本语言类型专业化

获取原文
获取原文并翻译 | 示例
       

摘要

Type feedback and type inference are two common methods used to optimize dynamic languages such as JavaScript. Each of these methods has its own strengths and weaknesses, and we propose that each can benefit from the other if combined in the right way. We explore the interdependency between these two methods and propose two novel ways to combine them in order to significantly increase their aggregate benefit and decrease their aggregate overhead. In our proposed strategy, an initial type inference pass is applied that can reduce type feedback overhead by enabling more intelligent placement of profiling hooks. This initial type inference pass is novel in the literature. After profiling, a final type inference pass uses the type information from profiling to generate efficient code. While this second pass is not novel, we significantly improve its effectiveness in a novel way by feeding the type inference pass information about the function signature, i.e., the types of the function's arguments for a specific function invocation. Our results show significant speedups when using these low-overhead strategies, ranging from 1.2× to 4× over an implementation that does not perform type feedback or type inference based optimizations. Our experiments are carried out across a wide range of traditional benchmarks and realistic web applications. The results also show an average reduction of 23.5% in the size of the profiled data for these benchmarks.
机译:类型反馈和类型推断是用于优化JavaScript等动态语言的两个常用方法。这些方法中的每一种都有自己的优势和劣势,我们提出如果在正确的方式中组合,每个都可以从另一个人中受益。我们探讨这两种方法之间的相互依赖性,并提出了两种新的方式来结合它们,以便显着增加其总效益并降低其总汇总的开销。在我们提出的策略中,应用了初始类型的推理通过,可以通过启用更智能的分析钩子来减少类型的反馈开销。该初始类型推理通过在文献中是新颖的。分析后,最终类型的推理传递使用从分析中的类型信息来生成有效的代码。虽然该第二次通过不是新颖的,但我们通过馈送有关函数签名的类型推断传递信息,即通过函数签名的类型,即特定函数调用的参数的类型来显着提高其效力。我们的结果在使用这些低开销策略时显示出显着的加速度,从1.2倍为4×而不是不执行类型反馈或基于类型推断的优化的实现。我们的实验是在各种传统基准和现实Web应用程序中进行的。结果还显示了这些基准的成本数据大小的平均降低了23.5%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号