Libev和libuv哪個好用 libevent和libuv是什么關(guān)系???
libevent和libuv是什么關(guān)系啊?Libevent:歷史悠久、最著名、應(yīng)用最廣泛的跨平臺事件庫;libev:與Libevent相比,設(shè)計更簡潔,性能更好,但對windows的支持不夠好;lib
libevent和libuv是什么關(guān)系???
Libevent:歷史悠久、最著名、應(yīng)用最廣泛的跨平臺事件庫;libev:與Libevent相比,設(shè)計更簡潔,性能更好,但對windows的支持不夠好;libuv:在開發(fā)node的過程中,需要一個跨平臺事件庫。他們更喜歡libev,但也支持windows,所以重新封裝了一組函數(shù),*Nix用libev實(shí)現(xiàn),windows用IOCP實(shí)現(xiàn);
libevent和libuv是什么關(guān)系?
首先排除了pre-actor模式(難寫),即ASIO和ACE;其次盡量選擇多進(jìn)程單線程(簡單可擴(kuò)展)可能的話,可以參考nginx。
為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
是構(gòu)建輪子還是直接使用開源庫,我認(rèn)為,很大程度上取決于部門負(fù)責(zé)人的個人喜好。曾幾何時,c開發(fā)人員熱衷于重新構(gòu)建輪子,那么為什么有些企業(yè)要自己編寫呢?我在項(xiàng)目開始時不知道這個庫的存在,我不想以后再介紹它。
2)許多第三方庫依賴于許多其他第三方庫。要引進(jìn)a館,就得引進(jìn)B館、C館、D館,這無疑增加了院系成員的學(xué)習(xí)成本。
3)第三方開源庫通常會頻繁更新。如果你知道有一個bug,你想更新它嗎?基礎(chǔ)庫的更新無疑會花費(fèi)更多的開發(fā)時間和測試時間。
4)使項(xiàng)目整體可控。一旦引入的開放源代碼庫出現(xiàn)問題并且項(xiàng)目團(tuán)隊不熟悉它,這將是災(zāi)難性的。
5)現(xiàn)有開源庫過于復(fù)雜,學(xué)習(xí)成本高,團(tuán)隊成員水平參差不齊。
最后,附上一本我前段時間讀過的書。
本文是作者《一個程序員的奮斗史》悟空問答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載,抄襲將被追究!