投稿指南
一、稿件要求: 1、稿件内容应该是与某一计算机类具体产品紧密相关的新闻评论、购买体验、性能详析等文章。要求稿件论点中立,论述详实,能够对读者的购买起到指导作用。文章体裁不限,字数不限。 2、稿件建议采用纯文本格式(*.txt)。如果是文本文件,请注明插图位置。插图应清晰可辨,可保存为*.jpg、*.gif格式。如使用word等编辑的文本,建议不要将图片直接嵌在word文件中,而将插图另存,并注明插图位置。 3、如果用电子邮件投稿,最好压缩后发送。 4、请使用中文的标点符号。例如句号为。而不是.。 5、来稿请注明作者署名(真实姓名、笔名)、详细地址、邮编、联系电话、E-mail地址等,以便联系。 6、我们保留对稿件的增删权。 7、我们对有一稿多投、剽窃或抄袭行为者,将保留追究由此引起的法律、经济责任的权利。 二、投稿方式: 1、 请使用电子邮件方式投递稿件。 2、 编译的稿件,请注明出处并附带原文。 3、 请按稿件内容投递到相关编辑信箱 三、稿件著作权: 1、 投稿人保证其向我方所投之作品是其本人或与他人合作创作之成果,或对所投作品拥有合法的著作权,无第三人对其作品提出可成立之权利主张。 2、 投稿人保证向我方所投之稿件,尚未在任何媒体上发表。 3、 投稿人保证其作品不含有违反宪法、法律及损害社会公共利益之内容。 4、 投稿人向我方所投之作品不得同时向第三方投送,即不允许一稿多投。若投稿人有违反该款约定的行为,则我方有权不向投稿人支付报酬。但我方在收到投稿人所投作品10日内未作出采用通知的除外。 5、 投稿人授予我方享有作品专有使用权的方式包括但不限于:通过网络向公众传播、复制、摘编、表演、播放、展览、发行、摄制电影、电视、录像制品、录制录音制品、制作数字化制品、改编、翻译、注释、编辑,以及出版、许可其他媒体、网站及单位转载、摘编、播放、录制、翻译、注释、编辑、改编、摄制。 6、 投稿人委托我方声明,未经我方许可,任何网站、媒体、组织不得转载、摘编其作品。

哪种编程语言又快又省电?有人对比了27种语言

来源:语言研究 【在线投稿】 栏目:综合新闻 时间:2020-10-29
作者:网站采编
关键词:
摘要:选自thenewstack 作者:David Cassel 机器之心编译 编辑:小舟、张倩 在手机快没电时,管理软件往往会提醒我们关掉某些耗电量高的应用。可见,除了硬件厂商外,软件厂商也应该重视能耗

选自thenewstack

作者:David Cassel

机器之心编译

编辑:小舟、张倩

在手机快没电时,管理软件往往会提醒我们关掉某些耗电量高的应用。可见,除了硬件厂商外,软件厂商也应该重视能耗问题。在这篇文章中,研究者分析了一下各种编程语言的能耗对比。

当能耗也成为了一个重要指标,我们要怎么选择编程语言?2017 年,由 6 名葡萄牙研究者组成的团队决定对这一问题进行调查并发表了一篇名为《Energy Efficiency Across Programming Languages》的论文。他们用 27 种语言写出了 10 个问题的解决方案(遵循同样的算法),然后运行这些方案,记录每种编程语言消耗的电量以及速度和内存使用情况,得到的排序结果如下图所示:

通过这项研究,他们得出了一些有意思的结论,比如运行速度快的语言未必能耗小。

在论文中,作者还根据编程语言的执行类型(编译、虚拟机或解释)和编程范式(命令式、函数式、面向对象和脚本)对结果进行了分析。

具体而言,研究者使用了来自 Computer Language Benchmarks Game(一个用于比较性能的免费软件项目,其中包含一组标准的算法问题和用于运行测试的框架)的 10 个问题,使得研究更有可比性和代表性。

运行各种基准测试非常重要,因为它们的结果会由于所执行的测试而有所不同。例如,总体而言,C 语言被认为是最快的,也是最节能的。但是在涉及扫描 DNA 数据库中特定基因序列的基准测试中,Rust 是最节能的,而 C 语言位居第三。

即使在同一测试中,「最佳」语言也取决于你的标准。比如在一个 C 排第二、Rust 排第一的测试中,如果按内存使用情况对结果进行排序,Rust 会跌掉 9 个位次。而在一个 Fortran 能效第二高的测试中,如果结果按照运行时间排序,它也下降了 6 个位次。

研究者指出,他们严格遵守 CLBG 项目关于编译器版本和最佳优化标志的指导方针。功耗的测量使用一个来自英特尔的工具——Running Average Power Limit,每个程序运行 10 遍。作者表示,「这是为了减少冷启动和缓存效应的影响,并能够分析测量的一致性,避免异常值」。

为了增强一致性,所有测试都在一个运行 Linux Ubuntu Server 16.10(内核版本 )的台式机上运行。

运行速度快的语言更节能吗?

这篇论文认真地研究了一个普遍的假设:速度越快的程序消耗的能源就越少。研究者指出,其实,这并不像物理学定律 E(nergy) = T(ime) x P(ower) 那么简单。这是因为电力并不按照一定的速率进行消耗。在其他研究者的一项研究中,一个 Chapel 程序的运行时间比另一个用 Pascal 写的等价程序少 55%,但测量结果却表明,那个 Pascal 程序所用的能量反而要少 10%。

因此,尽管普遍认为程序运行速度更快时能耗会下降,但研究者明确指出「速度更快的语言并不总是更节能。」

这可能是一个很难回答的问题,因为功耗受到许多因素的影响(包括编译器的质量和使用的库)。但最终,研究人员总结出,无论是编译型语言、解释型语言还是虚拟机,其实大部分能量(平均 88% 左右)是由 CPU 消耗的。

在对实验结果分析研究之后,研究者还得出结论:DRAM 的峰值使用量与能耗之间「几乎没有关系」。该研究为一个长期存在的问题提供了答案:「速度更快就更环保吗?」是的,的确是这样,在按照执行时间进行排序时,前 5 种最节能的语言依然排在前 5 名,而且在能量和时间值方面的差距很小。

实际上,在 10 个基准问题测试中,有 9 个得分最高者(速度和能源效率两方面)是速度最快和能源效率最高的三种语言之一,这并没有让研究者感到惊讶。众所周知,就像研究中的数据所显示的一样,C、C++ 和 Rust 这三种排名最靠前的语言都经过了大量优化,在执行性能上都比较高效。

但是按照运行时间对其他 24 种语言进行排名时,情况就不一样了。只有 4 种语言保持相同的能耗和时间排名(OCaml、Haskel、Racket 和 Python),而其余语言则彻底散开。

即使在单项基准测试中,也存在速度快但不节能的语言。

编译型语言的优点

编译型语言似乎是最节能和运行最快的语言,作者甚至可以在论文中用数字量化这种差异。

平均而言,编译语言需要花费 120J 能量来运行解决方案,而虚拟机和解释型语言要分别花费 576J 和 2365J。

在比较执行时间时,研究者也采用了相同的精度,得出的结论是:平均而言,编译语言花费 5103 毫秒,虚拟机语言花费 毫秒,解释型语言花费 毫秒。

文章来源:《语言研究》 网址: http://www.yyyjzzs.cn/zonghexinwen/2020/1029/493.html



上一篇:依法规范中文 净化语言环境
下一篇:北师大日语语言文学考博真题生人数导师信息复

语言研究投稿 | 语言研究编辑部| 语言研究版面费 | 语言研究论文发表 | 语言研究最新目录
Copyright © 2018 《语言研究》杂志社 版权所有
投稿电话: 投稿邮箱: