资讯专栏INFORMATION COLUMN

C 语言是“最环保”的编程语言

Pink / 1290人阅读

摘要:提到编程语言,人们第一时间想到的无非是哪个编程语言简单易学,亦或是最挣钱等。但是编程语言功耗问题却被很多人忽视。尽管每个基准测试中最节能的语言几乎总是最快,没有哪一种语言是经久不衰,可以永远好过其他编程语言的。

提到编程语言,人们第一时间想到的无非是:哪个编程语言简单易学,亦或是最挣钱等。但是编程语言功耗问题却被很多人忽视。那么作为程序员的我们如何选择编程语言,使其以低能耗高功效地工作呢?

对于以上问题,葡萄牙大学的研究人员于2017年发表了一篇研究论文《Energy Efficiency across Programming Languages》,对 27 种知名软件语言的运行速度、内存使用和能耗进行了研究,结果表明 C 语言依旧宝刀未老,凭借其精确的内存管理,轻量的设计模式,荣获“最环保”的编程语言的称号。

更快的语言并不总是最节能

据悉,研究人员基于 Computer Language Benchmarks Game标准对每种语言使用十个编程问题来进行调查,帮助研究人员获得更具有可比性、代表性和广泛性的程序,以及编译/执行选项和编译器版本。Computer Language Benchmarks GameComputer 是一个用于比较性能的免费软件项目,其中包含一组标准的算法问题和用于运行测试的框架。

此外,研究人员表示运行各种基准测试非常重要,因为它们的结果会由于所执行的测试而有所不同。即使在同一测试中,「最佳」语言也取决于测试者的标准是什么。

尽管人们普遍认为程序运行速度更快时能源消耗会随之降低,但论文中明确指出“更快的语言并不总是最节能的”,强调这并不像 E(nergy) = T(ime) x P(ower) 的物理定律那么简单。

比如在他们的一项基准测试中,Chapel 程序的执行时间比用 Pascal 编写的等效程序少 55%——但 Pascal 程序使用的能量少 10%。

C 语言最节能

在人们传统印象中,编译语言“往往”是最节能、运行速度最快的。对此研究人员用数字来量化这种差异,结果表明,编译语言仅需要花费 120焦耳能量来运行解决方案,而虚拟机和解释型语言要分别花费 576焦耳 和 2365 焦耳。

而在比较执行时间时,研究者也采用了相同的精度,就平均而言,编译语言花费 5103 毫秒,虚拟机语言花费 20623 毫秒,解释型语言花费 87614 毫秒。除此之外,编译语言在内存占用方面,也稳居前5。

此外研究人员还根据编程语言的执行类型(编译、虚拟机或解释)和编程范式(命令式、函数式、面向对象和脚本)对结果进行了分析。

5 种最慢的语言都是解释型语言:Lua、Python、Perl、Ruby 和 Type。5 种能耗最多的语言也都是解释型语言:Perl、Python、Ruby、JRuby 和 Lua。。但在使用正则表达式操作字符串时,5 种最节能的语言中有三种解释型语言,分别是 TypeScript、JavaScript 和 PHP。

根据上图显示,如果基于能耗和执行时间两个基准来看, C 语言是最佳的解决方案。如果用户想在节省内存的同时还能更快地执行,那么 C 语言、Pascal 和 Go 语言是不错的选择。总的来说,如果用户只是想在使用更少内存的同时节省能源,那么最好的选择是 C 语言或 Pascal。

最后研究人员总结道:“如果你正在寻找一种最好的编程语言,这个问题没有最终答案。尽管每个基准测试中最节能的语言几乎总是最快,没有哪一种语言是经久不衰,可以永远好过其他编程语言的。

参考链接:

  • https://thenewstack.io/which-programming-languages-use-the-least-electricity/
  • https://hackaday.com/2021/11/18/c-is-the-greenest-programming-language/

论文链接:

  • https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf?utm_source=thenewstack&utm_medium=website&utm_campaign=platform

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/124785.html

相关文章

  • 谷歌斥资3.5亿美元在新加坡建立第三个数据中心,扩展云平台业务能力

    摘要:美国互联网巨头谷歌宣布将在新加坡建立第三个数据中心,以扩大其云平台业务能力,主要用于服务东南亚地区用户。该数据中心计划于年启动并运行。谷歌表示将投资亿美元用于建立新的数据中心,此次扩张将使其在新加坡数据中心的总投资达到亿美元。美国互联网巨头谷歌宣布将在新加坡建立第三个数据中心,以扩大其Google云平台(GCP)业务能力,主要用于服务东南亚地区用户。该数据中心计划于2020年启动并运行。今日...

    Richard_Gao 评论0 收藏0
  • 欧洲新获得CEEDA认证五个数据中心揭秘

    摘要:日前据悉,分布欧洲各国的五个数据中心最近被授予数据中心节能认证证书,这个认证旨在减少数据中心浪费并有效运营。总部在直布罗陀的托管数据中心服务商公司在其获得认证的数据中心采用了高效节能措施,取得了良好的效果,因此获得了该公司第二个认证。日前据悉,分布欧洲各国的五个数据中心最近被授予数据中心节能认证(CEEDA)证书,这个认证旨在减少数据中心浪费并有效运营。这些设施包括在瑞典、德国、英属直布罗陀...

    Pandaaa 评论0 收藏0
  • 13 万字 C 语言从入门到精通保姆级教程2021 年版 (建议收藏)

    摘要:友情提示先关注收藏,再查看,万字保姆级语言从入门到精通教程。及大牛出天地开始有随之乃有万种语年英国剑桥大学推出了语言。 友情提示:先关注收藏,再查看,13 万字保...

    zombieda 评论0 收藏0
  • ❤️整理2万字带你走进C语言(详细讲解+代码演示+图解)❤️(强烈建议收藏!!!)

    目录 一、什么是C语言? 二、第一个C语言程序 代码 程序分析  程序运行 一个工程中出现两个及以上的main函数 代码 运行结果 分析 三、数据类型 数据各种类型 为什么会有这么多的数据类型? 计算机单位  各个数据类型的大小  注意事项 数据类型的使用 四、变量和常量 变量的分类 变量的使用 变量的作用域和生命周期  常量 五、字符串+转义字符+注释 字符串  转义字符 注释 六、选择语句  ...

    邱勇 评论0 收藏0
  • 什么嵌入式开发?为什么用C语言作为开发语言

    摘要:嵌入式开发是在操作系统内部做开发的,而操作系统所有的内核都是语言所编写的,所以说在嵌入式开发的过程中也选择语言,肯定是具有一定的优势的。 嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持,以方便用户以最低的成本、最短...

    Lyux 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<