文 | Travis
出品 | OSC开源社区(ID:oschina2013)
毋庸置疑,Python 是世界上最流行的编程语言之一,其被广泛运用于人工智能、数据分析、网络爬虫和 Web 开发等领域。在上个月的 TIOBE 榜单中,Python 一举超过 C 语言拿下榜首的位置也能够充分说明 Python 的流行程度。
但在 2017 年的一项研究,以及今年的补充研究中表明,Python 和 Perl 在一众参考对象中是不够环保和节能的编码语言。
我们先来说说 2017 年的研究。葡萄牙 Universidade do Minho 大学的研究人员在当时的研究中发现,就执行某些特定任务时消耗的能量而言,在所有参与测试的 27 种编程语言中 Python 和 Perl 的能耗最高,排名垫底,Python 仅比 Perl 稍好一些;而 C 语言能耗最低位居榜首,其次是 Rust、C++ 和 Ada。反应到具体数字上,C 语言的能耗为 1(以排名第一的 C 语言为基准,因此数字为 1),而 Python 和 Perl 都超过了 75。
比较不同编程语言的能源消耗、时间和内存使用情况(2017):
而且此次研究推翻了大多数人惯有的想法,即人们可能会想当然地认为,一个运行速度更快的计算机程序会消耗更少的能源。但研究表明除了速度之外,还有其他因素会给能耗的最终结果产生影响。
自 2017 年以来这些编程语言都发生了大量变化,因此这个结果可能也不能反映现状。为了迎合这些编程语言的更新迭代,研究人员在今年对这项研究做出了补充,他们更新了测试和结果。在更新的测试中,研究人员建立了 DRAM 能耗、峰值内存和执行期间使用的总内存之间的相互关系。
研究团队还进行了一组标准算法以及来自 Rosetta Code 的一些测试,Rosetta Code 是一个比较不同编程语言执行常见算法的网站。从下面的表格可以看出,当涉及到能源消耗时,Python 在大多数测试中都处于排名后半部分,Python 甚至不能在 24 小时截止时间内完成斐波那契任务。
综合最新的测试结果能够看出,Python 和 Perl 在多项测试中依旧排名垫底,虽然 Ruby 并没有倒数第一的测试成绩,但在多项测试中也均排名靠后。而 C、C++ 和 Rust 则刚好相反,它们是这些测试语言中相对最环保的语言。
觉得不错,请点个在看呀