Firefly的Gevent重要迭代版本alpha0.1.2推出!
生活随笔
收集整理的這篇文章主要介紹了
Firefly的Gevent重要迭代版本alpha0.1.2推出!
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
| firefly-gevent 是firefly的gevent版本。相比現(xiàn)在的firefly版本使用的twisted,gevent更加的精簡(jiǎn)。gevent就是一個(gè)基于coroutine的python網(wǎng)絡(luò)開發(fā)框架。協(xié)程是一種并發(fā)模型,但不同于thread和callback,它的所有task都是可以在一個(gè)線程里面執(zhí)行,然后可以通過(guò)在一個(gè)task里面主動(dòng)放棄執(zhí)行來(lái)切換到另一個(gè)task執(zhí)行,它的調(diào)度是程序級(jí)的,不像thread是系統(tǒng)級(jí)的調(diào)度。Gevent最明顯的特征就是它驚人的性能,尤其是當(dāng)與傳統(tǒng)線程解決方案對(duì)比的時(shí)候。在這一點(diǎn)上,當(dāng)負(fù)載超過(guò)一定程度的時(shí)候,異步I/O的性能會(huì)大大的優(yōu)于基于獨(dú)立線程的同步I/O這幾乎是常識(shí)了。同時(shí)Gevent提供了看上去非常像傳統(tǒng)的基于線程模型編程的接口,但是在隱藏在下面做的是異步I/O。更妙的是,它使得這一切透明。(此處意思是你可以不用關(guān)心其如何實(shí)現(xiàn),Gevent會(huì)自動(dòng)幫你轉(zhuǎn)換)忽略其他因素,Gevent性能是線程方案的4倍左右(在這個(gè)測(cè)試中對(duì)比的是Paste,譯者注:這是Python另一個(gè)基于線程的網(wǎng)絡(luò)庫(kù))與單進(jìn)程多線程模型相比,多進(jìn)程和協(xié)程是更加Scalable的模型。在高并發(fā)場(chǎng)景下,采用多進(jìn)程模型編制的程序更加容易Scale Out,而協(xié)程模型可以使單機(jī)的并發(fā)性能大幅提升,達(dá)到Scale Up的目的。所以,未來(lái)服務(wù)器端并發(fā)模型的標(biāo)配估計(jì)會(huì)是:每個(gè)核一個(gè)進(jìn)程,每個(gè)進(jìn)程是用協(xié)程實(shí)現(xiàn)的微線程。在編碼方面,多線程模型帶來(lái)的共享資源加解鎖的問(wèn)題一直是程序員的夢(mèng)魘。而用多進(jìn)程模型編程時(shí),會(huì)自然鼓勵(lì)程序員寫出避免共享資源的程序,從而提高魯棒性。而Python目前的協(xié)程實(shí)現(xiàn)都為非搶占式調(diào)度,程序員自行控制協(xié)程切換時(shí)機(jī),因此也可以避免絕大多數(shù)令人頭疼的加解鎖問(wèn)題。這些都利于寫出更穩(wěn)定的代碼。另外,和同樣具有很好并發(fā)性能的事件驅(qū)動(dòng)模型相比,用協(xié)程實(shí)現(xiàn)的微線程,在邏輯表達(dá)上非常友好和直白,無(wú)須在不知道什么時(shí)候會(huì)發(fā)生的event和一層套一層的callback中糾結(jié)和扭曲(正如Twisted其名)。對(duì)于寫過(guò)多線程程序的程序員而言,協(xié)程帶來(lái)的微線程模型幾乎可以實(shí)現(xiàn)無(wú)痛提高并發(fā)性能。 firefly-gevent結(jié)合了gevent的性能,封裝了網(wǎng)絡(luò)IO處理、數(shù)據(jù)庫(kù)IO讀寫緩存、分布式進(jìn)程間接口調(diào)用。這樣使得游戲服務(wù)端的開發(fā)變得更加的輕松簡(jiǎn)單,開發(fā)者不必在面對(duì)這些的技術(shù)難題,專心致力于游戲玩法邏輯的開發(fā)。 <ignore_js_op> <ignore_js_op> <ignore_js_op> github地址:https://github.com/9miao/gfirefly oschina地址:http://git.oschina.net/9maio/gfirefly pypi地址:https://pypi.python.org/pypi/gfirefly/0.1.2alpha |
轉(zhuǎn)載于:https://www.cnblogs.com/9miaoshetuan/p/3851486.html
總結(jié)
以上是生活随笔為你收集整理的Firefly的Gevent重要迭代版本alpha0.1.2推出!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言之异或运算
- 下一篇: Java版开源的端口映射工具