Python語言其實(shí)很慢,為什么機(jī)器學(xué)習(xí)這種快速算法步驟通常還是用呢?

韓平 8年前 (2018-01-30)

python的運(yùn)行速度并不是相差幾倍,而是在50%一下的速度,新版本的python運(yùn)行速度有所提升,此外還有一些可提升速度的方法

作為python的忠實(shí)粉絲,看見這個題目就情不自禁想懟回去。鑒于和諧社會,我決定慢慢講道理。

首先,相對于c語言,python慢是慢了點(diǎn),絕對不能用“很”慢來形容。

有大佬總結(jié)出三條python速度慢的原因:

1.python是動態(tài)語言而非靜態(tài)語言。

2.python是解釋型語言而不是編譯型的,編譯過程可以優(yōu)化,獲得更快的執(zhí)行速度。

3.python的對象模型,導(dǎo)致了內(nèi)存訪問比較低效。

但是本人的實(shí)踐中發(fā)現(xiàn),python的運(yùn)行速度并不是相差幾倍,而是在50%一下的速度,新版本的python運(yùn)行速度有所提升,此外還有一些可提升速度的方法。

Python語言其實(shí)很慢,為什么機(jī)器學(xué)習(xí)這種快速算法步驟通常還是用呢?

為什么會流行起來的原因?這就很好解釋了,因?yàn)檎娴?.....很好用。

Python通常被選為初學(xué)者編程入門語言。運(yùn)行Python程序,只需要簡單地鍵入Python程序并運(yùn)行就可以了。不需要其他語言(例如,C或C++)所必須的編譯和鏈接等中間步驟。Python可立即執(zhí)行程序,這形成了一種交互式編程體驗(yàn)和不同情況下快速調(diào)整的能力,往往在修改代碼后能立即看到程序改變后的效果。

此外,Python是一個混合體。它豐富的工具集使它介于傳統(tǒng)的腳本語言(例如,Tcl、Scheme和Perl)和系統(tǒng)語言(例如,C、C++和Java)之間。Python提供了所有腳本語言的簡單和易用性,并且具有在編譯語言中才能找到的高級軟件工程工具。不像其他腳本語言,這種結(jié)合使Python在長期大型的開發(fā)項(xiàng)目中十分有用。

Python程序可以以多種方式輕易地與其他語言編寫的組件“粘接”在一起。例如,Python的C語言API可以幫助Python程序靈活地調(diào)用C程序。這意味著可以根據(jù)需要給Python程序添加功能,或者在其他環(huán)境系統(tǒng)中使用Python。例如,將Python與C或者C++寫成的庫文件混合起來,使Python成為一個前端語言和定制工具。就像之前我們所提到過的那樣,這使Python成為一個很好的快速原型工具;首先出于開發(fā)速度的考慮,系統(tǒng)可以先使用Python實(shí)現(xiàn),之后轉(zhuǎn)移至C,根據(jù)不同時期性能的需要逐步實(shí)現(xiàn)系統(tǒng)。這也很好解決速度問題,要反復(fù)使用的地方大可用C語言編寫。

綜上,少年你還是覺得python運(yùn)行起來很慢,首先反思下自己的程序

最后,記得關(guān)注微信公眾號:鎂客網(wǎng)(im2maker),更多干貨在等你!

鎂客網(wǎng)


科技 | 人文 | 行業(yè)

微信ID:im2maker
長按識別二維碼關(guān)注

硬科技產(chǎn)業(yè)媒體

關(guān)注技術(shù)驅(qū)動創(chuàng)新

分享到