Optimizing runtime performance of hybrid dynamically and statically typed languages for the .Net platform

Journal of Systems and Software(2016)

引用 11|浏览27
暂无评分
摘要
We optimize dynamically typed operations of hybrid typing languages for .Net.The optimizations are applied to binary files and included in an existing compiler.For short-running programs, average performance gains vary from 44.6% to 406%.For long-running applications, average performance gains vary from 224% to 1113%.Memory consumption increase goes from 6.2% to 64.5%. Dynamically typed languages have become popular in scenarios where high flexibility and adaptability are important issues. On the other hand, statically typed languages provide important benefits such as earlier type error detection and, usually, better runtime performance. The main objective of hybrid statically and dynamically typed languages is to provide the benefits of both approaches, combining the adaptability of dynamic typing and the robustness and performance of static typing. The dynamically typed code of hybrid languages for the .Net platform typically use the introspection services provided by the platform, incurring a significant performance penalty. We propose a set of transformation rules to replace the use of introspection with optimized code that uses the services of the Dynamic Language Runtime. These rules have been implemented as a binary optimization tool, and included as part of an existing open source compiler. Our system has been used to optimize 37 programs in 5 different languages, obtaining significant runtime performance improvements. The additional memory resources consumed by optimized programs have always been lower than the corresponding performance gains obtained.
更多
查看译文
关键词
Hybrid static and dynamic typing,Dynamic language runtime,Runtime performance optimization
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要