能效不仅仅是一个硬件问题。您的编程语言选择会严重影响您的能源消耗效率。
多年来,我们将性能与处理时间混为一谈。“它的表现如何?”意味着“它的速度有多快?”但是现在情况发生了变化。开发人员,工程师甚至消费者都会做很多事情来避免CPU的大量消耗以保护他们的电池。能源效率始于硬件方面,但现在它逐渐渗透到软件开发中。
当您尝试衡量编程语言的效率时,会出现很多问题。首先,您使用什么样的指标?更快的程序语言是一种更节能的语言吗?更快的编程语言是更环保的吗?
但是,比较语言很困难。只需通过编译器或虚拟机的质量,即可轻松提高语言的性能。改进的源代码与优化库一样重要。
一组 葡萄牙研究人员 研究了27种最流行的编程语言,看看速度和效率之间是否存在任何关系。
使用 计算机基准游戏 ,研究人员团队通过使用最先进的编译器,虚拟机,解释器和库编译/执行此类程序来测试这些语言。然后他们分析了考虑三个变量的不同实现的性能:能耗、执行时间,内存消耗。
速度并不总是等同于能源效率。C,C ++,Rust和Ada等编译语言被列为一些最节能的语言。Java是速度最快,最节能的面向对象语言之一.
像Perl,Python和Ruby这样的解释语言是能效最低的。研究人员发现,基于CPU的能耗总是占能源消耗的大部分。
平均而言,如果按照编程范例进行排序,命令式语言需要的内存最少,其次是面向对象的,函数性的,最后是脚本语言。
测试代码的效率
研究人员在 GitHub上 有一个很棒的东西,他们会评估你的代码,看看它是多么节能。这只是三个简单的步骤。
评论:
这是一个非常有趣的图表,从字面上将编程语言转化为能源效率(从而影响全球变暖的影响)。C是标准1. Java是〜2x,Python是~75x!我们以不止一种方式为这些机器周期付费。