返回顶部
分享到

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

软件开发资讯 2021-11-25 16:12 771人浏览 0人回复
原作者: CSDN 来自: CSDN 收藏 分享 邀请
摘要

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

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

对于以上问题,葡萄牙大学的研究人员于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。

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

转载于CSDNhttps://blog.csdn.net/m0_59537084/article/details/121465639?spm=1000.2115.3001.5928
本文暂无评论,快来抢沙发!

热门问答
达内教育:成立于2002年。致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销、会计等职场人才 达内使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内愿景:做管理一流的教育公司
  • 商务合作

  • Powered by Discuz! X3.4 | Copyright © 2002-2024, 达内教育 Tedu.cn
  • 京ICP备08000853号-56 |网站地图