网站首页 > 基础教程 正文
很多人的电脑屏幕上都会有一个显示CPU占用率的小球(当然也可能是其他形状,很多人是在下载诸如360等安全软件中带的),很多人在看到数字彪红的时候会很受不了,想要马上清理内存。如今,节能不仅仅是硬件问题,编程语言的选择也可能会对能源消耗产生严重影响,本文我们将深入了解编程语言的能源效率。
多年来,我们将性能与处理时间结合在一起。“它有多好?”的意思是“它有多快?”,开发人员、工程师甚至消费者都会做很多工作,以避免CPU的重大耗尽,保护其电池,能源效率从硬件开始逐渐转化为软件开发。
当尝试衡量编程语言的效率时,会出现很多问题,比如,你使用什么来度量? 编写的程序更快,语言就更节能、更有效率吗? 更快的编程语言是更环保的吗?比较编程语言之间的效率是困难的。语言的性能可以通过其编译器或虚拟机的质量轻松改善,改进源代码与优化库一样重要。
但是,一组葡萄牙研究人员做到了。他们研究了27种最流行的编程语言,以查看速度和效率之间是否存在关系。研究团队通过使用计算机基准测试,使用最先进的编译器、虚拟机、解释器和库来编译/执行程序测试这些编程语言。然后,他们分析了不同编程语言实现之间的性能,整个过程考虑了三个变量:执行时间,内存消耗和能耗。
研究发现:速度并不等效于能源效率。比如C、C ++、Rust和Ada这样的编译语言被列为一些最节能的语言。Java是面向对象语言中速度最快,效率最高的语言之一。解释性编程语言,如Perl,Python和Ruby是最不节能的。研究人员发现,基于CPU的能源消耗总是占能源消耗的大部分。
平均来说,如果按照编程范例进行排序,命令式语言需要最少的内存,其次是面向对象、函数式,最后是脚本语言。
那么,是否可以综合能源消耗、时间和内存使用选择一种编程语言呢? 当然可以,C语言是所有领域的明显赢家。但如果你对C语言编程不感兴趣,那么有一些有趣的选择。
Go和Pascal在效率测试中做的相当差,但如果你只是考虑基于能源消耗和内存,他们会做得很好。对于有兴趣改善能源和内存的人,Rust和FORTRAN也是不错的选择。
测试代码真正的效率
研究人员在GitHub上贡献了一个项目(开源地址:https://github.com/greensoftwarelab/Energy-Languages),可以用来评估你的代码,看它是否高效,只需要三个简单的步骤:
创建一个名称为“基准”的文件夹,例如test-benchmark,在你实现的编程语言里面。
按照操作部分中的说明,填写Makefile。
使用compile_all.pyscript来编译,运行或测试你想要的内容!或者使用make命令运行它。
你怎么看这一项研究,会改变你对编程语言的选择吗?
猜你喜欢
- 2024-10-12 python代码是如何执行的? python的代码如何运行
- 2024-10-12 deepin os下使用Geany编写python程序
- 2024-10-12 扩展和嵌入 Python 之重定向输出与编译
- 2024-10-12 python爬虫数据匹配-正则(re模块的用法)
- 2024-10-12 Python中的.pyc文件是干什么的呢?
- 2024-10-12 解锁 Python 中的正则表达式:轻松搞定文本处理
- 2024-10-12 Python 的底层 — 解释器和内存管理,你了解多少
- 2024-10-12 python程序执行原理 描述python程序执行原理
- 2024-10-12 这些 python 技巧,不知道就 out 了
- 2024-10-12 “挑战用 500 行 Python 写一个 C 编译器”
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)