我想用 Go 開發(fā)一種基于 Unix 域套接字的高性能客戶端-服務(wù)器通信協(xié)議。具體來說,我正在考慮使用 Vector-IO 操作(writev/readv 系統(tǒng)調(diào)用)以避免結(jié)構(gòu)化數(shù)據(jù)序列化的開銷。然而,我認(rèn)為Go并不完全支持分散-聚集io操作的使用。我發(fā)現(xiàn)一些嘗試為 writev 操作提供 Go 支持,但不支持 readv。有沒有辦法在 Go 中實現(xiàn)這一點和/或性能方面的替代方案是什么?
1 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗 獲得超5個贊
使用net.Buffers進(jìn)行優(yōu)化的批量寫入writev
或類似操作。
對于讀取,將數(shù)據(jù)放入單個緩沖區(qū)并根據(jù)需要對緩沖區(qū)進(jìn)行切片。
- 1 回答
- 0 關(guān)注
- 139 瀏覽
添加回答
舉報
0/150
提交
取消