Cross-language compiler benchmarking: are we fast yet?

Cross-language compiler benchmarking: are we fast yet?
复制标题

跨语言编译器基准测试:我们快了吗?

DOI:
--
复制
发表时间:
2016
期刊:
Dynamic Languages Symposium
影响因子:
--
通讯作者:
H. Mössenböck
H. Mössenböck
中科院分区:
--
文献类型:
--
作者:
Stefan Marr;Benoit Daloze;H. Mössenböck

文献摘要

被引文献

相似文献

比较编程语言的性能很困难,因为它们在许多方面有所不同,包括首选的编程摘要,可用框架及其运行时系统。尽管如此,关于相对表现的问题在研究社区,行业和更广泛的发烧友中反复出现。本文介绍了14个基准和一种新颖的方法来评估跨语言实施的编译器有效性。使用一组通用语言抽象,基准测试在Java,JavaScript,Ruby,Crystal,Newspeak和Smalltalk中实现。我们表明,基准测试使用语言敏锐的指标具有广泛的特征。在同一编译器之上使用四种不同的语言,我们表明基准测试的性能相似,因此可以比较跨语言的编译器效率。基于轶事,我们认为这些基准测试有助于语言实施者通过与其他语言实现进行比较来识别性能错误和优化潜力。
Comparing the performance of programming languages is difficult because they differ in many aspects including preferred programming abstractions, available frameworks, and their runtime systems. Nonetheless, the question about relative performance comes up repeatedly in the research community, industry, and wider audience of enthusiasts. This paper presents 14 benchmarks and a novel methodology to assess the compiler effectiveness across language implementations. Using a set of common language abstractions, the benchmarks are implemented in Java, JavaScript, Ruby, Crystal, Newspeak, and Smalltalk. We show that the benchmarks exhibit a wide range of characteristics using language-agnostic metrics. Using four different languages on top of the same compiler, we show that the benchmarks perform similarly and therefore allow for a comparison of compiler effectiveness across languages. Based on anecdotes, we argue that these benchmarks help language implementers to identify performance bugs and optimization potential by comparing to other language implementations.