下表比較了Gruvi針對asyncio,gevent和eventlet的一些設(shè)計決策和功能。
*
特征 | Gruvi | Asyncio | Gevent | Eventlet |
---|---|---|---|---|
IO library(依賴包) | libuv | stdlib | libev | stdlib /?libevent |
IO abstractionTransports/Protocols | Transports/ProtocolsGreen | sockets | Green sockets | reen sockets |
Threading | fibers | yield?from | greenlet | greenlet |
Resolver | threadpool | threadpool | threadpool /?c-ares | blocking/dnspython |
Python: 2.x | YES (2.7) | YES (2.6+, viaTrollius) | YES | YES |
Python: 3.x | YES (3.3+) | YES | NO | NO |
Python: PyPy | NO | NO | YES | YES |
Platform: Linux | FAST | FAST | FAST | FAST |
Platform: Mac OSX | FAST | FAST | FAST | FAST |
Platform: Windows | FAST (IOCP) | FAST (IOCP) | SLOW (select) | SLOW (select) |
SSL: Posix | FAST | FAST | FAST | FAST |
SSL: Windows | FAST (IOCP) | FAST (IOCP 3.5+) | SLOW (select) | SLOW (select) |
SSL: Contexts | YES (also Py2.7) | YES (also Py2.6+) | NO | NO |
HTTP | FAST (via?http-parser) | NO (external) | SLOW (stdlib) | SLOW (stdlib) |
Monkey Patching | NO | NO | YES | YES |
print 123 import time x = time.time() print x
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43797.html
摘要:所以與多線程相比,線程的數(shù)量越多,協(xié)程性能的優(yōu)勢越明顯。值得一提的是,在此過程中,只有一個線程在執(zhí)行,因此這與多線程的概念是不一樣的。 真正有知識的人的成長過程,就像麥穗的成長過程:麥穗空的時候,麥子長得很快,麥穗驕傲地高高昂起,但是,麥穗成熟飽滿時,它們開始謙虛,垂下麥芒。 ——蒙田《蒙田隨筆全集》 上篇論述了關(guān)于python多線程是否是雞肋的問題,得到了一些網(wǎng)友的認(rèn)可,當(dāng)然也有...
摘要:事件循環(huán)是異步編程的底層基石。對事件集合進(jìn)行輪詢,調(diào)用回調(diào)函數(shù)等一輪事件循環(huán)結(jié)束,循環(huán)往復(fù)。協(xié)程直接利用代碼的執(zhí)行位置來表示狀態(tài),而回調(diào)則是維護(hù)了一堆數(shù)據(jù)結(jié)構(gòu)來處理狀態(tài)。時代的協(xié)程技術(shù)主要是,另一個比較小眾。 Coding Crush Python開發(fā)工程師 主要負(fù)責(zé)豈安科技業(yè)務(wù)風(fēng)險情報系統(tǒng)redq。 引言 1.1. 存儲器山 存儲器山是 Randal Bryant 在《深入...
摘要:使用進(jìn)行并發(fā)編程篇三掘金這是使用進(jìn)行并發(fā)編程系列的最后一篇。所以我考慮啟用一個本地使用進(jìn)行并發(fā)編程篇二掘金我們今天繼續(xù)深入學(xué)習(xí)。 使用 Python 進(jìn)行并發(fā)編程 - asyncio 篇 (三) - 掘金 這是「使用Python進(jìn)行并發(fā)編程」系列的最后一篇。我特意地把它安排在了16年最后一天。 重新實驗上篇的效率對比的實現(xiàn) 在第一篇我們曾經(jīng)對比并發(fā)執(zhí)行的效率,但是請求的是httpb...
摘要:并發(fā)的方式有多種,多線程,多進(jìn)程,異步等。多線程和多進(jìn)程之間的場景切換和通訊代價很高,不適合密集型的場景關(guān)于多線程和多進(jìn)程的特點已經(jīng)超出本文討論的范疇,有興趣的同學(xué)可以自行搜索深入理解。 編程中,我們經(jīng)常會遇到并發(fā)這個概念,目的是讓軟件能充分利用硬件資源,提高性能。并發(fā)的方式有多種,多線程,多進(jìn)程,異步IO等。多線程和多進(jìn)程更多應(yīng)用于CPU密集型的場景,比如科學(xué)計算的時間都耗費在CPU...
閱讀 2974·2021-09-26 10:18
閱讀 5305·2021-09-22 15:02
閱讀 2808·2019-08-30 15:53
閱讀 1855·2019-08-29 18:41
閱讀 2703·2019-08-27 10:58
閱讀 2634·2019-08-26 13:49
閱讀 2760·2019-08-26 12:17
閱讀 910·2019-08-26 11:49