网易首页 > 网易号 > 正文 申请入驻

Python太烂了!比C语言慢71倍!消耗的能量是C语言的75倍!

0
分享至

  最近看到一个有趣的编程语言研究,它把27种编程语言放到一起做了一个基准测试。

  一般的基准测试无非是看看哪个编程语言最快,而这个研究还要看看谁消耗的能量最高。

  其中的一个结果让人震惊,Python竟然比C慢71倍,消耗的能量居然是C的75倍!

  这个研究是葡萄牙的一个研究所做的,他们用了一个叫做“The Computer Language Benchmarks Game”测试集。

  这个测试集很有趣,既包括程序员熟悉的“二叉树遍历”,也包括“N体问题”这样的天体运动模拟,目的是尽可能多地覆盖到更多领域。

  对于程序的运行时间很好计算,记录下开始时间和结束时间,相减就出来了。

  对于程序的能耗,他们使用了Intel的RAPL(Running Average Power Limit),这是一种硬件功能,可以监控CPU、内存、GPU能耗,然后通过API来访问。

  整体的程序框架大概是这样:

  for (i = 0 ; i < N ; i++){ time_before = getTime (...); rapl_before (...); // 使用system系统调用来执行程序 // 例如system("/usr/bin/python binarytrees.py") system(command); rapl_after (...); time_elapsed = getTime (...) - time_before ; ... }

  最终的结果是这样的(经过了标准化的处理):

  在速度上,不出意料,C语言最快,以它为基准,Python是71.90,Lua最慢。

  在能量消耗上,C语言最低,以它为基准,Python是75.88,Perl最差。

  在内存占用上,Pascal这门语言竟然排到了第一,C语言屈居第三。

  从运行速度,能量消耗、内存使用这三项指标上都能看出C语言的王者之气。

  运行速度最快的编程语言:C、Rust、C++、Ada、Java,在节能榜也名列前茅。

  可以看出编译型的语言性能确实厉害,Java的虚拟机被优化得也非常强悍。

  而解释型语言PHP、Lua、Ruby、Python、Perl等就排名靠后了。

  让人吃惊的是Lisp,执行速度靠前,消耗能量之少也名列前茅。

  那么,这个结果的可信度如何呢?

  The Computer Language Benchmarks Game测试集合有个特点:充分利用了编程语言的特性,致力于让程序运行得最快。

  这在真正的实践中是不现实的,因为大部分程序员都不会这么写代码的。

  所以研究团队找了一个叫Rosetta Code的测试集合,再次对结果进行验证。

  Rosetta Code的特点是是对同一个编程任务,有几百种编程语言的实现!

  由于它的目标不是优化程序,而是为了展示不同编程语言的相似之处和不同之处,让学习者能快速地学习另外一种编程语言。

  他们从中选了9个任务的代码,再次进行了测试。

  结果和之前差不多,C、Pascal、Ada、Rust、C++ 依然排在前面几位,Ruby、Perl、Python依然排在最后。

  唯一的例外是Java,排名大幅下降,因为在Rosetta Code的实现中,大量使用了Java集合(如List和Set),而不是静态的数组,从而拖累了Java的性能。

  总结

  看完这个研究,你有什么感想?

  我想说,如果你是一个环保主义者,觉得应该对气候变暖负责任,根据这个研究结果,那你一定得选择C语言来编程!

  但是呢,这个研究只关注编程语言在运行时的表现,它不考虑软件的编写成本、维护成本。

  C语言和硬件密切相关,是个“低级”的高级语言,想写出好代码不容易。

  想用它写出和Java、Python同样功能的程序,花费的时间要长得多,电脑开机的时间也要长得多,这么算下来,用C语言消耗的能量可能远远超过Java和Python。

  对于系统级的软件和对性能要求高的软件,C、C++、Rust是不二之选,对于应用层的软件,需要快速实现多变的业务逻辑,还是选择Python、Java、JS、Ruby等编程语言吧,适合的才是最好的!

  原论文链接:https://haslab.github.io/SAFER/scp21.pdf

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
2026-09-04 07:16:49
码农翻身 incentive-icons
码农翻身
有趣且硬核的技术文章
305文章数 669关注度
往期回顾 全部

科技要闻

英伟达129亿美元拿下Hugging Face

头条要闻

男子逛夜市遭按摩摊大妈拉住 被5个大妈服务按到发红

头条要闻

男子逛夜市遭按摩摊大妈拉住 被5个大妈服务按到发红

体育要闻

梅西:巴萨10号与阿根廷10号

娱乐要闻

王宝强携女友回工作室!相恋8年仍未婚

财经要闻

章子怡套现3亿 上美拿什么补韩束的缺?

汽车要闻

限时权益价28.99万起 FREELANDER神行者8正式上市

态度原创

教育
时尚
艺术
数码
公开课

教育要闻

【考试地理】火山与温泉

女人到了60岁衣服少穿大红大绿,试试这些纯色单品,高级又耐看

艺术要闻

放大《汉宫春晓图》:撕掉宫斗剧滤镜,这才是明代深宫女子的真实日常

数码要闻

IFA前夜,云鲸将十周年发布会开到了柏林,还顺手秀了波具身智能

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版