libuv的uv_fs_poll和uv_fs_event比較

2018/01/29 network programming 共 408 字,約 2 分鐘

fs-poll是不相依平台、基於polling機制的實作,只能監測單一檔案

內部使用uv_timer_t來完成uv_fs_poll_start原始碼

呼叫使用者程式碼的關鍵function

fs-event則是平台相依的,一般可用來監控某個資料架下的所有檔案,部分OS支援遞迴性監控

相關定義可在Makefile.am找到

由於uv只提供兩種events UV_RENAMEUV_CHANGE ,推測除了重新命名以外都是CHANGE事件

此外兩者最大不同為callback不一樣,poll回傳stat_t結構,event回傳事件

雖然events直接使用kernel提供的功能,且為事件驅動,顯然較高效

poll並不見得就比較heavy,但latency會受到polling interval所限制。

文章訊息

Search

    Table of Contents