編程語(yǔ)言也有環(huán)保排隊(duì)?墊底的居然是它...

作者 | Travis
毋庸置疑,Python 是世界上最流行的編程語(yǔ)言之一,其被廣泛運(yùn)用于人工智能、數(shù)據(jù)分析、網(wǎng)絡(luò)爬蟲和 Web 開發(fā)等領(lǐng)域。在上個(gè)月的 TIOBE 榜單中,Python 一舉超過(guò) C 語(yǔ)言拿下榜首的位置也能夠充分說(shuō)明 Python 的流行程度。
但在 2017 年的一項(xiàng)研究,以及今年的補(bǔ)充研究中表明,Python 和 Perl 在一眾參考對(duì)象中是不夠環(huán)保和節(jié)能的編碼語(yǔ)言。

我們先來(lái)說(shuō)說(shuō) 2017 年的研究。葡萄牙 Universidade do Minho 大學(xué)的研究人員在當(dāng)時(shí)的研究中發(fā)現(xiàn),就執(zhí)行某些特定任務(wù)時(shí)消耗的能量而言,在所有參與測(cè)試的 27 種編程語(yǔ)言中 Python 和 Perl 的能耗最高,排名墊底,Python 僅比 Perl 稍好一些;而 C 語(yǔ)言能耗最低位居榜首,其次是 Rust、C++ 和 Ada。反應(yīng)到具體數(shù)字上,C 語(yǔ)言的能耗為 1(以排名第一的 C 語(yǔ)言為基準(zhǔn),因此數(shù)字為 1),而 Python 和 Perl 都超過(guò)了 75。
如果您正在學(xué)習(xí)Spring Boot,那么推薦一個(gè)連載多年還在繼續(xù)更新的免費(fèi)教程:http://blog.didispace.com/spring-boot-learning-2x/
比較不同編程語(yǔ)言的能源消耗、時(shí)間和內(nèi)存使用情況(2017):

而且此次研究推翻了大多數(shù)人慣有的想法,即人們可能會(huì)想當(dāng)然地認(rèn)為,一個(gè)運(yùn)行速度更快的計(jì)算機(jī)程序會(huì)消耗更少的能源。但研究表明除了速度之外,還有其他因素會(huì)給能耗的最終結(jié)果產(chǎn)生影響。
自 2017 年以來(lái)這些編程語(yǔ)言都發(fā)生了大量變化,因此這個(gè)結(jié)果可能也不能反映現(xiàn)狀。為了迎合這些編程語(yǔ)言的更新迭代,研究人員在今年對(duì)這項(xiàng)研究做出了補(bǔ)充,他們更新了測(cè)試和結(jié)果。在更新的測(cè)試中,研究人員建立了 DRAM 能耗、峰值內(nèi)存和執(zhí)行期間使用的總內(nèi)存之間的相互關(guān)系。

如果您正在學(xué)習(xí)Spring Cloud,推薦一個(gè)經(jīng)典教程(含Spring Cloud Alibaba):https://blog.didispace.com/spring-cloud-learning/
研究團(tuán)隊(duì)還進(jìn)行了一組標(biāo)準(zhǔn)算法以及來(lái)自 Rosetta Code 的一些測(cè)試,Rosetta Code 是一個(gè)比較不同編程語(yǔ)言執(zhí)行常見算法的網(wǎng)站。從下面的表格可以看出,當(dāng)涉及到能源消耗時(shí),Python 在大多數(shù)測(cè)試中都處于排名后半部分,Python 甚至不能在 24 小時(shí)截止時(shí)間內(nèi)完成斐波那契任務(wù)。

綜合最新的測(cè)試結(jié)果能夠看出,Python 和 Perl 在多項(xiàng)測(cè)試中依舊排名墊底,雖然 Ruby 并沒有倒數(shù)第一的測(cè)試成績(jī),但在多項(xiàng)測(cè)試中也均排名靠后。而 C、C++ 和 Rust 則剛好相反,它們是這些測(cè)試語(yǔ)言中相對(duì)最環(huán)保的語(yǔ)言。
往期推薦
技術(shù)交流群
最近有很多人問(wèn),有沒有讀者交流群,想知道怎么加入。加入方式很簡(jiǎn)單,有興趣的同學(xué),只需要點(diǎn)擊下方卡片,回復(fù)“加群“,即可免費(fèi)加入我們的高質(zhì)量技術(shù)交流群!
點(diǎn)擊閱讀原文,送你免費(fèi)Spring Boot教程!
