
在當(dāng)今數(shù)字化代,孩子接觸網(wǎng)絡(luò)的機(jī)會(huì)日益增多,染上網(wǎng)癮的現(xiàn)象也時(shí)有發(fā)生。然而,不少家長(zhǎng)對(duì)于孩子染上網(wǎng)癮的具體表現(xiàn)并不十分清楚,也不知道如何正確應(yīng)對(duì)。
通常而言,我們所熟知的編程語(yǔ)言基準(zhǔn)測(cè)試,往往側(cè)重于比較各語(yǔ)言的運(yùn)行速度,看哪種語(yǔ)言能夠在執(zhí)行任務(wù)時(shí)更為迅速地得出結(jié)果。然而,此次該研究所進(jìn)行的測(cè)試卻別具一格,除了關(guān)注運(yùn)行速度之外,還著重考察了各編程語(yǔ)言在運(yùn)行過(guò)程中消耗能量的情況。
測(cè)試過(guò)程中所呈現(xiàn)出的部分結(jié)果著實(shí)令人大為震驚。其中,Python 與 C 語(yǔ)言之間的對(duì)比差距尤為顯著。在運(yùn)行速度方面,Python 竟然比 C 語(yǔ)言慢了足足 71 倍。這意味著在處理相同的任務(wù)時(shí),C 語(yǔ)言能夠以遠(yuǎn)超 Python 的效率快速完成。而更讓人意想不到的是,在能量消耗上,Python 消耗的能量居然是 C 語(yǔ)言的 75 倍。如此巨大的差距,無(wú)疑讓我們對(duì)這兩種廣泛應(yīng)用的編程語(yǔ)言在性能表現(xiàn)上有了更為深刻的認(rèn)識(shí)。
該研究所此次測(cè)試所采用的測(cè)試集名為 “The Computer Language Benchmarks Game”,這個(gè)測(cè)試集設(shè)計(jì)得十分巧妙且有趣。它涵蓋了諸多不同類型的任務(wù),既包含了程序員們極為熟悉的 “二叉樹(shù)遍歷” 這類在數(shù)據(jù)結(jié)構(gòu)處理領(lǐng)域常見(jiàn)的任務(wù),又涉及到了 “N 體問(wèn)題” 這樣對(duì)天體運(yùn)動(dòng)進(jìn)行模擬的任務(wù)。通過(guò)如此豐富多樣的任務(wù)設(shè)置,其目的在于盡可能全面地覆蓋到更多不同的應(yīng)用領(lǐng)域,從而能夠更為準(zhǔn)確且客觀地對(duì)各編程語(yǔ)言在不同場(chǎng)景下的性能表現(xiàn)進(jìn)行評(píng)估。
最終的結(jié)果是這樣的(經(jīng)過(guò)了標(biāo)準(zhǔn)化的處理):
在速度上,不出意料,C語(yǔ)言最快,以它為基準(zhǔn),Python是71.90,Lua最慢。
通常而言,我們所熟知的編程語(yǔ)言基準(zhǔn)測(cè)試,往往側(cè)重于比較各語(yǔ)言的運(yùn)行速度,看哪種語(yǔ)言能夠在執(zhí)行任務(wù)時(shí)更為迅速地得出結(jié)果。然而,此次該研究所進(jìn)行的測(cè)試卻別具一格,除了關(guān)注運(yùn)行速度之外,還著重考察了各編程語(yǔ)言在運(yùn)行過(guò)程中消耗能量的情況。
測(cè)試過(guò)程中所呈現(xiàn)出的部分結(jié)果著實(shí)令人大為震驚。其中,Python 與 C 語(yǔ)言之間的對(duì)比差距尤為顯著。在運(yùn)行速度方面,Python 竟然比 C 語(yǔ)言慢了足足 71 倍。這意味著在處理相同的任務(wù)時(shí),C 語(yǔ)言能夠以遠(yuǎn)超 Python 的效率快速完成。而更讓人意想不到的是,在能量消耗上,Python 消耗的能量居然是 C 語(yǔ)言的 75 倍。如此巨大的差距,無(wú)疑讓我們對(duì)這兩種廣泛應(yīng)用的編程語(yǔ)言在性能表現(xiàn)上有了更為深刻的認(rèn)識(shí)。
該研究所此次測(cè)試所采用的測(cè)試集名為 “The Computer Language Benchmarks Game”,這個(gè)測(cè)試集設(shè)計(jì)得十分巧妙且有趣。它涵蓋了諸多不同類型的任務(wù),既包含了程序員們極為熟悉的 “二叉樹(shù)遍歷” 這類在數(shù)據(jù)結(jié)構(gòu)處理領(lǐng)域常見(jiàn)的任務(wù),又涉及到了 “N 體問(wèn)題” 這樣對(duì)天體運(yùn)動(dòng)進(jìn)行模擬的任務(wù)。通過(guò)如此豐富多樣的任務(wù)設(shè)置,其目的在于盡可能全面地覆蓋到更多不同的應(yīng)用領(lǐng)域,從而能夠更為準(zhǔn)確且客觀地對(duì)各編程語(yǔ)言在不同場(chǎng)景下的性能表現(xiàn)進(jìn)行評(píng)估。
最終的結(jié)果是這樣的(經(jīng)過(guò)了標(biāo)準(zhǔn)化的處理):
在速度上,不出意料,C語(yǔ)言最快,以它為基準(zhǔn),Python是71.90,Lua最慢。

在能量消耗上,C語(yǔ)言最低,以它為基準(zhǔn),Python是75.88,Perl最差。

在內(nèi)存占用上,Pascal這門(mén)語(yǔ)言竟然排到了第一,C語(yǔ)言屈居第三。

從運(yùn)行速度,能量消耗、內(nèi)存使用這三項(xiàng)指標(biāo)上都能看出C語(yǔ)言的王者之氣。
運(yùn)行速度最快的編程語(yǔ)言:C、Rust、C++、Ada、Java,在節(jié)能榜也名列前茅。
運(yùn)行速度最快的編程語(yǔ)言:C、Rust、C++、Ada、Java,在節(jié)能榜也名列前茅。
從運(yùn)行速度,能量消耗、內(nèi)存使用這三項(xiàng)指標(biāo)上都能看出C語(yǔ)言的王者之氣。
運(yùn)行速度最快的編程語(yǔ)言:C、Rust、C++、Ada、Java,在節(jié)能榜也名列前茅。
運(yùn)行速度最快的編程語(yǔ)言:C、Rust、C++、Ada、Java,在節(jié)能榜也名列前茅。
然而,一個(gè)頗為引人深思的問(wèn)題隨之而來(lái):既然 Python 在與 C 語(yǔ)言的此次基準(zhǔn)測(cè)試對(duì)比中,在速度和能耗方面表現(xiàn)出如此明顯的劣勢(shì),那為什么 Python 卻是現(xiàn)在最受歡迎的編程語(yǔ)言呢?

這個(gè)研究只關(guān)注編程語(yǔ)言在運(yùn)行時(shí)的表現(xiàn),它不考慮軟件的編寫(xiě)成本、維護(hù)成本。C語(yǔ)言和硬件密切相關(guān),是個(gè)“低級(jí)”的高級(jí)語(yǔ)言,想寫(xiě)出好代碼不容易。想用它寫(xiě)出和Java、Python同樣功能的程序,花費(fèi)的時(shí)間要長(zhǎng)得多,這么算下來(lái),用C語(yǔ)言消耗的能量可能遠(yuǎn)遠(yuǎn)超過(guò)Java和Python。
而Python在易上手性、庫(kù)和框架豐富度、跨平臺(tái)性、開(kāi)發(fā)效率、社區(qū)支持、腳本語(yǔ)言特性以及與其他語(yǔ)言集成等諸多方面的優(yōu)勢(shì),使得它成為了如今最受歡迎的編程語(yǔ)言之一。
這里面其實(shí)有一個(gè)守恒定律。C,Rust, C++都把能量消耗在腦力上了!Python消耗腦力最少。 “人生苦短,我用Python” 這句話的真諦在此刻透露的淋漓盡致。
對(duì)于系統(tǒng)級(jí)的軟件和對(duì)性能要求高的軟件,C、C++、Rust是不二之選,對(duì)于應(yīng)用層的軟件,需要快速實(shí)現(xiàn)多變的業(yè)務(wù)邏輯,還是選擇Python、Java、JavaScript、Ruby等編程語(yǔ)言吧,適合的才是最好的!
而Python在易上手性、庫(kù)和框架豐富度、跨平臺(tái)性、開(kāi)發(fā)效率、社區(qū)支持、腳本語(yǔ)言特性以及與其他語(yǔ)言集成等諸多方面的優(yōu)勢(shì),使得它成為了如今最受歡迎的編程語(yǔ)言之一。
這里面其實(shí)有一個(gè)守恒定律。C,Rust, C++都把能量消耗在腦力上了!Python消耗腦力最少。 “人生苦短,我用Python” 這句話的真諦在此刻透露的淋漓盡致。
對(duì)于系統(tǒng)級(jí)的軟件和對(duì)性能要求高的軟件,C、C++、Rust是不二之選,對(duì)于應(yīng)用層的軟件,需要快速實(shí)現(xiàn)多變的業(yè)務(wù)邏輯,還是選擇Python、Java、JavaScript、Ruby等編程語(yǔ)言吧,適合的才是最好的!