有沒有什麼東西是Go可以做但Python做不到的?

ayukisama


同為編程語言的Go與Python,Go確實有些優勢是Python做不到的。

Go語言如今已經越來越受到大家的青睞。據悉知乎已經用Go語言代替了Python重構了搜索部分的功能,由此可見Go語言在後端方面取代Python將慢慢成為一種趨勢,也許就在近幾年,大家可以拭目以待。

那麼接下來,我來談談Go能做到,但是Python做不到的。

<strong>


高效部署

Go語言除了glibc之外沒有對其他外部包的依賴,這讓部署過程十分簡便,運行環境只需要基礎的系統和必要的管理工具即可,不用擔心部署上去之後由於缺少包而運行不起來的事情,大大減少了運維的工作量。而Python就沒這麼容易了,它的部署工具生態由於早期發展的原因,可以用混亂來形容,雖然可以用鏡像來解決,但是與Go相比這無疑是額外的一筆精力開銷。

併發性好

Go語言非常適合高併發的服務端開發,很多情況甚至不需要考慮鎖以及鎖帶來的各種問題。此外,單個的Go應用能夠有效的利用多個CPU,進一步提高保證了併發性能。而Python在這方面也是遜色許多,由於全局所GIL的原因,它沒法像Go一樣高效率使用CPU,在部署應用的時候,總是會有些資源浪費。曾經有人統計過,如果某個Python應用啟動後需要佔用100MB內存你,而服務器是32個CPU的,那麼留一個CPU給系統,運行31個應用副本就要浪費近3GB的內存資源。

執行性能

這點也是大家經常說的,Go語言的性能趨近C語言,最好的情況下,速度能夠比Python快了近30倍。

以上是我認為在開發應用過程中,Go語言做得到,而Python很難追上的能力,歡迎各位在下方與我溝通。

我是蘇蘇思量,來自BAT的Java開發工程師,每天分享科技類見聞,歡迎關注我,與我共同進步。


蘇蘇思量


Go狗可以跑步,Python蟒蛇沒腿跑不了


分享到:


相關文章: