成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

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

Python語言其實(shí)很慢,為什么機(jī)器學(xué)習(xí)這種快速算法步驟通常還是用呢?對于那些使用了多種開發(fā)語言(Java、C#、nodejs、Erlang)然后轉(zhuǎn)到Python進(jìn)行機(jī)器學(xué)習(xí)的人,我想談?wù)勎业目捶?。?/p>

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

對于那些使用了多種開發(fā)語言(Java、C#、nodejs、Erlang)然后轉(zhuǎn)到Python進(jìn)行機(jī)器學(xué)習(xí)的人,我想談?wù)勎业目捶ā?/p>

首先,Python真的很慢嗎?我的回答是真的。非常慢。for循環(huán)比CPP慢兩個數(shù)量級。

那么為什么要使用Python呢?如果我們遍歷超過一億個數(shù)據(jù),兩個數(shù)量級的差異是不可接受的。但是,如果我們使用Python來執(zhí)行頂層邏輯并阻塞數(shù)以億計(jì)的數(shù)據(jù),Python只會循環(huán)十幾次,剩下的就留給CPU和GPU了。所以兩個數(shù)量級無關(guān)緊要?一毫秒和100毫秒在整個系統(tǒng)中并不重要。

Python最大的優(yōu)點(diǎn)是它可以非常優(yōu)雅地將數(shù)據(jù)拋出到高效的C、CUDA中進(jìn)行計(jì)算。Numpy、panda、numba這些優(yōu)秀的開源庫可以非常方便高效地處理海量數(shù)據(jù),借助ZMQ、cell等還可以做分布式計(jì)算,gevent借助epoll系統(tǒng)IO優(yōu)化。因此,它不需要花費(fèi)太多的精力就可以優(yōu)雅高效地完成海量數(shù)據(jù)處理和機(jī)器學(xué)習(xí)任務(wù)。這就是Python如此流行的原因。

好好想想。同樣的性能,代碼只有CPP或Java的三分之一或更少,不是很吸引人嗎?

既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?

C語言實(shí)際上是一種“老”和“底層”語言。其執(zhí)行效率僅次于匯編語言。

它之所以古老是因?yàn)镃語言出現(xiàn)得很早。

盡管FORTRAN和COBOL比C語言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語言中誕生的。

最根本的原因是C語言被設(shè)計(jì)用來同時(shí)編寫匯編語言。從理論上講,它可以用外匯來表示。匯編語言是最有效的語言。

所以Python是用C語言編寫的也就不足為奇了。它與能否生成exe無關(guān)。

Exe文件是Windows平臺的專用格式。最簡單的exe是com可執(zhí)行文件。EXE文件實(shí)際上由引導(dǎo)加載程序和解釋器組成。

由Python語言生成的代碼只能通過引導(dǎo)加載程序和解釋器作為EXE文件執(zhí)行。

因此Python生成EXE文件并不困難。只是它是否愿意提供的問題。

為什么當(dāng)今消息隊(duì)列沒有一個用python實(shí)現(xiàn)的版本?

謝謝!究其原因,是受全局解釋器鎖Gil的影響,Python的多進(jìn)程以多線程、單進(jìn)程的方式執(zhí)行,這是Python的硬傷。因此,許多消息隊(duì)列事務(wù)無法快速處理。多線程、多處理和Gil是相互依存、相互制約的。它可以更快地處理成千上萬的數(shù)據(jù)。如果是百萬級的數(shù)據(jù),那就沒用了。所以最好用它來處理輕量級消息隊(duì)列。