幽默之编程语言的能效:Java是最节能的语言之一, Python/Perl是最耗能之一。

19-09-17 banq
                   

能效不仅仅是一个硬件问题。您的编程语言选择会严重影响您的能源消耗效率。

多年来,我们将性能与处理时间混为一谈。“它的表现如何?”意味着“它的速度有多快?”但是现在情况发生了变化。开发人员,工程师甚至消费者都会做很多事情来避免CPU的大量消耗以保护他们的电池。能源效率始于硬件方面,但现在它逐渐渗透到软件开发中。

当您尝试衡量编程语言的效率时,会出现很多问题。首先,您使用什么样的指标?更快的程序语言是一种更节能的语言吗?更快的编程语言是更环保的吗?

但是,比较语言很困难。只需通过编译器或虚拟机的质量,即可轻松提高语言的性能。改进的源代码与优化库一样重要。

一组葡萄牙研究人员研究了27种最流行的编程语言,看看速度和效率之间是否存在任何关系。

使用计算机基准游戏,研究人员团队通过使用最先进的编译器,虚拟机,解释器和库编译/执行此类程序来测试这些语言。然后他们分析了考虑三个变量的不同实现的性能:能耗、执行时间,内存消耗。

速度并不总是等同于能源效率。C,C ++,Rust和Ada等编译语言被列为一些最节能的语言。Java是速度最快,最节能的面向对象语言之一.

像Perl,Python和Ruby这样的解释语言是能效最低的。研究人员发现,基于CPU的能耗总是占能源消耗的大部分。

平均而言,如果按照编程范例进行排序,命令式语言需要的内存最少,其次是面向对象的,函数性的,最后是脚本语言。

测试代码的效率

研究人员在GitHub上有一个很棒的东西,他们会评估你的代码,看看它是多么节能。这只是三个简单的步骤。

  1. 使用您的基准名称创建一个文件夹,例如  test-benchmark,在您实现它的语言中。
  2. 按照“ Operation”  部分中的说明进行  操作,然后填写 Makefile.
  3. 使用  compile_all.pyscript编译,运行和/或测量你想要的东西!或者使用make  命令自己运行它  。

评论:

这是一个非常有趣的图表,从字面上将编程语言转化为能源效率(从而影响全球变暖的影响)。C是标准1. Java是〜2x,Python是~75x!我们以不止一种方式为这些机器周期付费。

                   

1