自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

天下武功為快不破,戲說Python與Go高并發(fā)爭鋒!

開發(fā) 后端
斗氣大陸無奇不有,各種新的功法層出不窮!天下武功為快不破,云計(jì)算里面的排名第一go最近風(fēng)起云涌,那么我們今天來看看Python和Go的高并發(fā)之戰(zhàn)到底差距有多大!

 [[276207]]

在這個(gè)以斗氣大陸橫行的世界,每一個(gè)大的勢(shì)力宗門都有自己的殺手锏的功法,比如老牌的古族有C++這樣的巨無霸語言,藥族有C語言,幾乎斗氣大陸所有的操作系統(tǒng)都是用C語言做的,畢竟斗氣都要靠吃丹藥維持。而實(shí)力非常猛的魂族有Java這樣的毀天滅地的語言,神秘莫測(cè),勢(shì)力范圍也非常大,擁有廣大的用戶!

 

而斗氣大陸最近十年風(fēng)頭最勁的當(dāng)屬蕭族的Python語言。2007,2010,2018,三年都是排名第一。它可以做很多事情,身兼八大家族的各種功法于一身,比如爬蟲,數(shù)據(jù)分析,自動(dòng)化測(cè)試,運(yùn)維,數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)等等!而且在機(jī)器學(xué)習(xí)領(lǐng)域稱王稱霸,獨(dú)領(lǐng)風(fēng)騷!

然后斗氣大陸無奇不有,各種新的功法層出不窮!天下武功為快不破,云計(jì)算里面的排名第一go最近風(fēng)起云涌,尤其是搭上了區(qū)塊鏈這樣的龐大家族,財(cái)大氣粗未來前景非??春?據(jù)說Go語言的功法里面最強(qiáng)的就是高并發(fā)劍招,那么我們今天來看看Python和Go的高并發(fā)之戰(zhàn)到底差距有多大!

[[276208]] 

1. Go語言的高并發(fā)

Go作為一門新興的編程語言,最大特點(diǎn)就在于它是原生支持并發(fā)的。和傳統(tǒng)基于 OS 線程和進(jìn)程實(shí)現(xiàn)不同,Go語言的并發(fā)是基于用戶態(tài)的并發(fā),這種并發(fā)方式就變得非常輕量,能夠輕松運(yùn)行幾萬甚至是幾十萬的并發(fā)邏輯。

聽起來非常牛逼啊,到時(shí)Go的高并發(fā)有多快呢,我們不如寫一個(gè)最簡單的Hello world來看看。

 

1).首先,我們寫一個(gè)Hello world的函數(shù),這個(gè)函數(shù)就干一件事,死命的打印Hello world from xx.

2).接著,我們開1000個(gè)線程(其實(shí)不是線程可以認(rèn)為是協(xié)程,物理上對(duì)應(yīng)一個(gè)線程)。大家可以看到開1000個(gè)這樣的線程是相當(dāng)相當(dāng)牛逼的,一般我們?cè)赑ython里面開50個(gè)線程就非常了不起了,這里Go語言輕松開1000個(gè)并發(fā)!

因?yàn)镚o生下來就是斗宗的強(qiáng)者,天生自帶并發(fā)特性。只需要用Go關(guān)鍵字就可以申明高并發(fā)了,非常簡潔!比起其他的語言需要用外掛丹藥修煉提升自己的斗氣,要簡潔不知道多少倍了!

3).最后,我們用time.sleep()讓主線程只停留1毫秒,1毫米的時(shí)間讓1000個(gè)人去死命打印hello world,我們看看結(jié)果哈:

 

看完上面的也許大家知道Go很能打,那短短的1毫秒Go到底能打印出多少個(gè)Hello world呢,比如我們?cè)O(shè)定一個(gè)5000吧,看看Go1毫秒能否打印出5000個(gè)Hello world!

 

我們還是打印HelloWorld, 這次直接打印5000個(gè),然后限時(shí)在1毫秒內(nèi)完成,看看Go能否5000個(gè)都打完?

 

Go 還是很強(qiáng)的,不僅異步的代碼書寫非常簡單,而且效率之高讓人瞠目結(jié)舌,畢竟人家是編輯器級(jí)別的并發(fā),也就從娘胎里出來就是高并發(fā)的!

2. Python的高并發(fā)

Python里面的高并發(fā)非Asyncio莫屬,這個(gè)號(hào)稱是Python3里面最有野心的庫,從Python3.6開始逐漸穩(wěn)定推出,到了Python3.7又進(jìn)行了修正,到底跟Go會(huì)又多大的差距呢,我們來看一下:

 

Python的高并發(fā)協(xié)程需要靠后天的修行,也就是用庫Asyncio來完成,原生的并不支持高并發(fā)!那么我們也高并發(fā)5000個(gè)任務(wù),每個(gè)任務(wù)都是打印HelloWorld,看看需要多久的時(shí)間?

 

這個(gè)結(jié)果也是讓我大跌眼鏡,也許可能是cpu密集性這樣的操作對(duì)Python來說本來就用Asyncio沒有啥優(yōu)勢(shì),但是無論如何這個(gè)效率確實(shí)跟Go比起來,遜色很多啊!

難怪現(xiàn)在很多大公司的后端開發(fā),比如知乎的百萬級(jí)的高并發(fā)的訪問,慢慢從Python轉(zhuǎn)為Go語言,雖然重構(gòu)的代價(jià)非常大,但是長遠(yuǎn)看在性能這一條上,Go語言的優(yōu)勢(shì)非常明顯!

當(dāng)然上面的對(duì)比并不一定非常科學(xué)和嚴(yán)謹(jǐn),畢竟Python的強(qiáng)項(xiàng)并不是高并發(fā)而是其幾乎變態(tài)的全能語言,也就是說你學(xué)會(huì)Python可以干很多很多事情,而且可以跨領(lǐng)域的做一些事情,而Go目前只是在云計(jì)算領(lǐng)域占有霸主地位!

 

責(zé)任編輯:龐桂玉 來源: 菜鳥學(xué)Python
相關(guān)推薦

2018-06-19 16:48:42

華為

2020-06-22 13:43:46

代碼編碼語言

2021-02-23 10:15:31

軟件開發(fā)IT領(lǐng)導(dǎo)者首席信息官

2021-03-03 11:36:00

嵌入式項(xiàng)目開發(fā)字符串格式化

2020-01-16 16:20:55

網(wǎng)絡(luò)安全數(shù)據(jù)技術(shù)

2016-08-01 10:38:14

華為

2013-06-18 10:52:12

大數(shù)據(jù)

2020-02-21 16:20:37

系統(tǒng)驅(qū)動(dòng)項(xiàng)目管理

2011-12-05 09:56:59

2014-03-20 16:18:30

碼農(nóng)工作效率

2015-06-15 14:08:53

金泰克SSD

2021-01-26 09:19:58

Redis框架架構(gòu)

2018-04-13 10:36:44

Web應(yīng)用優(yōu)化

2014-04-04 10:27:50

碼農(nóng)工作效率

2013-07-17 17:03:23

Ngx_luaNginx

2019-05-07 12:58:55

ERP云ERPOracle NetS

2024-04-25 16:56:14

GPT-4大模型人工智能

2012-12-24 09:57:58

ERPDynamics AX

2021-07-30 07:28:15

WorkerPoolGo語言

2021-11-08 10:53:58

IPMAC地址
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)