当前位置: X-MOL 学术Sci. Comput. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Ranking programming languages by energy efficiency
Science of Computer Programming ( IF 1.5 ) Pub Date : 2021-01-11 , DOI: 10.1016/j.scico.2021.102609
Rui Pereira , Marco Couto , Francisco Ribeiro , Rui Rua , Jácome Cunha , João Paulo Fernandes , João Saraiva

This paper compares a large set of programming languages regarding their efficiency, including from an energetic point-of-view. Indeed, we seek to establish and analyze different rankings for programming languages based on their energy efficiency. The goal of being able to rank programming languages based on their energy efficiency is both recent, and certainly deserves further studies.

We have taken rigorous and strict solutions to 10 well defined programming problems, expressed in (up to) 27 programming languages, from the well known Computer Language Benchmark Game repository. This repository aims to compare programming languages based on a strict set of implementation rules and configurations for each benchmarking problem. We have also built a framework to automatically, and systematically, run, measure and compare the energy, time, and memory efficiency of such solutions. Ultimately, it is based on such comparisons that we propose a series of efficiency rankings, based on single and multiple criteria.

Our results show interesting findings, such as how slower/faster languages can consume less/more energy, and how memory usage influences energy consumption. We also present a simple way to use our results to provide software engineers and practitioners support in deciding which language to use when energy efficiency is a concern.

In addition, we further validate our results and rankings against implementations from a chrestomathy program repository, Rosetta Code., by reproducing our methodology and benchmarking system. This allows us to understand how the results and conclusions from our rigorously and well defined benchmarked programs compare to those based on more representative and real-world implementations. Indeed our results show that the rankings do not change apart from one programming language.



中文翻译:

按能效等级对编程语言进行排名

本文从精力充沛的角度比较了大量编程语言的效率。确实,我们寻求根据其能效为编程语言建立和分析不同的排名。能够基于其能效对编程语言进行排名的目标是最近的,当然值得进一步研究。

我们从著名的“计算机语言基准游戏”存储库中,针对(用)多达27种编程语言表示的10种定义明确的编程问题采取了严格而严格的解决方案。该存储库旨在针对每个基准测试问题,基于一组严格的实现规则和配置来比较编程语言。我们还建立了一个框架,可以自动,系统地运行,测量和比较此类解决方案的能源,时间和内存效率。最终,基于这种比较,我们提出了基于单个和多个标准的一系列效率排名。

我们的结果显示出有趣的发现,例如,较慢/较快的语言如何消耗更少/更多的能量,以及内存使用如何影响能耗。我们还提供了一种简单的方法来使用我们的结果来为软件工程师和从业人员提供支持,以便在需要关注能效时确定使用哪种语言。

此外,我们通过重现我们的方法和基准测试系统,进一步验证了基于Chrestomathy程序存储库Rosetta Code。的实现结果和排名。这使我们能够了解严格和定义明确的基准测试程序的结果和结论与基于更具代表性和真实世界的实现方案的结果和结论之间的比较。实际上,我们的结果表明,除了一种编程语言外,排名没有变化。

更新日期:2021-01-15
down
wechat
bug