python為什麼不適合web開發

funnyok發表於2021-09-11

python為什麼不適合web開發

python不適合web開發的原因:

1、效能堪憂。

寫個http server僅僅就輸出hello world,單機跑出一千的qps都夠嗆。而用netty,golang,nodejs隨便就上萬了。

而對於網際網路的web應用來說,效能就是生命線。qps上不去,使用者就會覺得卡頓,卡頓了還談個屁的使用者體驗。

當然也有一些方案可以增加效能,比如用非同步的tornado。但玩過之後發現稍好,效能依然比上面提到的技術低一個檔次。還有很偏門bjoern wsgi可以極大的提高http的效能,但這高出來的部分,是因為bjoern是用c寫的。但,一旦執行到用python寫的業務程式碼時,又慢得跟截肢了似的。

效能低應該有兩方面的原因,

a.因為python的預設實現是單執行緒,並且很多重要的模組就不支援多執行緒。所以利用多核較為困難。當然也不是沒有辦法,比如用多程式來利用多核。但多程式用起來還是不那麼順手。

b.python的實現效能不夠好吧。JavaScript當初也慢的可以卡出翔,後來google出手,搞出V8引擎,立即JavaScript快如閃電。最早的Java也是慢的跟蝸牛似的,後來SUN找牛人搞出了Hotspot虛擬機器後,Java的效能立即發生質的飛躍。PHP最近都有極大的效能提升。但Python就是一直這麼慢

2、Python的跨平臺開發比較麻煩。

Python下要想實現跨平臺開發非常麻煩。

一些擴充套件包在windows下安裝極其麻煩,比如PIL這個著名的影像處理包,在windows上要找到這個安裝包都不容易,而且這個包已經不維護了,被一個叫pillow的包接替,但氣憤的是pillow這個包和PIL居然不是100%相容的,還需要一些小改動。

另外的,有的包根本就不提供windows版,比如kyotocabinet,一個著名的的kv儲存引擎。這讓人非常頭疼。

現在團隊基本所有的人都是用windows開發,但程式部署卻是在linux上。

最終大家解決問題的辦法是在windows上裝個linux虛擬機器,在虛擬的linux的上開發,這樣就可以保持伺服器和開發環境一致了。但這樣也是夠麻煩的,效能嚴重打折,虛擬機器和物理機之間切換也極度麻煩。

更多Python知識請關注欄目。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3137/viewspace-2833944/,如需轉載,請註明出處,否則將追究法律責任。

相關文章