作者 | JEAN-LUC AUFRANC
译者 | 弯月
出品 | CSDN(ID:CSDNnews)说到编程语言,人们第1时间想到的无非是:哪个编程语言简单易学,也或是最挣钱等。然则编程语言功耗问题却被非常多人忽略。那样做为程序员的咱们怎样选取编程语言,使其以低能耗高功效地工作呢?2017年,葡萄牙大学的科研人员团队曾发布过一篇题为《各样编程语言的能耗》的论文,她们比较了各个编程语言(及其编译器/解释器)的能耗,为此她们科研了 27 种知名编程语言的运行时、内存运用状况以及能耗。最后,C 作为了无可争议的赢家,其能耗最低,而 Python 和 Perl 则处在最末位。
据说,这项科研采用了多种办法论和多个基准测试。每种语言运用十个编程问题来进行调查,帮忙科研人员得到更拥有可比性、表率性和广泛性的程序,以及编译/执行选项和编译器版本。
C /C++能耗最低且最快
尽管人们广泛认为程序运行速度更快时能源消耗会随之降低,但论文中知道指出“更快的语言并不总是最节能的”,强调这并不像 E(nergy) = T(ime) x P(ower) 的理学定律那样简单。
例如在她们的一项基准测试中,Chapel 程序的执行时间比用 Pascal 编写的等效程序少 55%——但 Pascal 程序运用的能量少 10%。
在人们传统印象中,编译语言“常常”是最节能、运行速度最快的。首要咱们来看一看编译语言在二叉树测试上的结果。
不出意料,这项科研得出的结论为:编译语言是最快和最节能的语言。C 和 C++ 语言是能耗最低且最快的语言。Go 是编译语言中表现最差的语言,乃至比依赖虚拟机的 Java 或 Erlang 等还要糟糕,最少在二叉树的测试中是这般。
Perl、Lua 和 Python能耗高下面看一下解释型语言在速度与能耗方面的表现,由测试可知解释型语言才是能耗最高的语言,例如 Perl、Lua 和 Python。
而5 种最慢的语言亦是解释型语言,如:Lua、Python、Perl、Ruby 和 Type。但在运用正则表达式操作字符串时,5 种最节能的语言中有三种解释型语言,分别是 TypeScript、JavaScript 和 PHP。
请重视,所有测试都是在如下环境运行:Intel Core i5-4460 Haswell CPU @ 3.20GHz,16GBRAM,Ubuntu Server 16.10 操作系统和Linux 4.8.0-22。思虑到如今 MicroPyhon 能够在各样微掌控器上运行,猜它在体积更小的设备上的表现可能不会那样糟糕。另外,这项科研还按照时间、内存和能耗参数的区别目的组合,对每种语言进行了排名,而在这些指标中 C 语言始终名列前茅。这与人们很久败兴的认知相同,倘若你想优化程序,加强续航时间,降低功耗,则 C 语言绝对是最佳选取、汇编语言、SIMD 指令或加速器的自定义指令优化某些例程。参考链接:
https://www.cnx-software.com/2021/11/18/save-the-planet-program-in-c-avoid-python-perl/
为助力云原生研发者更好迎接即将到来的“黄金十年”,CSDN 尤其发起《2021中国云原生研发者调查报告》,围绕“云原生研发者画像、人才和技术分布版图、一线研发者的技术实践、场景与应用分析、云原生的技术将来”等五大方面进行深度调查和解析。
这次问卷调查共 10 个问题,可能占用您 3-5 分钟时间,感谢您的倾力支持。