python与c语言哪个好(PythonPerl垫底)

python与c语言哪个好(PythonPerl垫底)(1)

作者 | JEAN-LUC AUFRANC

译者 | 弯月

出品 | CSDN(ID:CSDNnews)

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

2017年,葡萄牙大学的研究人员团队曾发表过一篇题为《各种编程语言的能耗》的论文,他们比较了各个编程语言(及其编译器/解释器)的能耗,为此他们研究了 27 种知名编程语言的运行时、内存使用情况以及能耗。最后,C 成为了无可争议的赢家,其能耗最低,而 Python 和 Perl 则处于最末位。

python与c语言哪个好(PythonPerl垫底)(2)

据悉,这项研究采用了多种方法论和多个基准测试。每种语言使用十个编程问题来进行调查,帮助研究人员获得更具有可比性、代表性和广泛性的程序,以及编译/执行选项和编译器版本。

python与c语言哪个好(PythonPerl垫底)(3)

C /C 能耗最低且最快

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

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

在人们传统印象中,编译语言“往往”是最节能、运行速度最快的。首先我们来看一看编译语言在二叉树测试上的结果。

python与c语言哪个好(PythonPerl垫底)(4)

不出意料,这项研究得出的结论为:编译语言是最快和最节能的语言。C 和 C 语言是能耗最低且最快的语言。Go 是编译语言中表现最差的语言,甚至比依赖虚拟机的 Java 或 Erlang 等还要糟糕,至少在二叉树的测试中是这样。

python与c语言哪个好(PythonPerl垫底)(5)

Perl、Lua 和 Python能耗高

下面看一下解释型语言在速度与能耗方面的表现,由测试可知解释型语言才是能耗最高的语言,比如 Perl、Lua 和 Python。

python与c语言哪个好(PythonPerl垫底)(6)

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

python与c语言哪个好(PythonPerl垫底)(7)

请注意,所有测试都是在如下环境运行:Intel Core i5-4460 Haswell CPU @ 3.20GHz,16GBRAM,Ubuntu Server 16.10 操作系统和Linux 4.8.0-22。考虑到如今 MicroPyhon 可以在各种微控制器上运行,猜它在体积更小的设备上的表现可能不会那么糟糕。

python与c语言哪个好(PythonPerl垫底)(8)

此外,这项研究还根据时间、内存和能耗参数的不同目标组合,对每种语言进行了排名,而在这些指标中 C 语言始终名列前茅。这与人们长久以来的认知相同,如果你想优化程序,提高续航时间,降低功耗,则 C 语言绝对是最佳选择、汇编语言、SIMD 指令或加速器的自定义指令优化某些例程。

参考链接:

  • https://www.cnx-software.com/2021/11/18/save-the-planet-program-in-c-avoid-python-perl/

python与c语言哪个好(PythonPerl垫底)(9)

为助力云原生开发者更好迎接即将到来的“黄金十年”,CSDN 特别发起《2021中国云原生开发者调查报告》,围绕“云原生开发者画像、人才和技术分布版图、一线开发者的技术实践、场景与应用分析、云原生的技术未来”等五大方面进行深度调查和解析。

本次问卷调查共 10 个问题,可能占用您 3-5 分钟时间,感谢您的倾力支持。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页