为了账号安全,请及时绑定邮箱和手机立即绑定

Go 支持 Scatter-Gather IO 操作

Go 支持 Scatter-Gather IO 操作

Go
饮歌长啸 2023-07-10 10:53:29
我想用 Go 开发一种基于 Unix 域套接字的高性能客户端-服务器通信协议。具体来说,我正在考虑使用 Vector-IO 操作(writev/readv 系统调用)以避免结构化数据序列化的开销。然而,我认为Go并不完全支持分散-聚集io操作的使用。我发现一些尝试为 writev 操作提供 Go 支持,但不支持 readv。有没有办法在 Go 中实现这一点和/或性能方面的替代方案是什么?
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

使用net.Buffers进行优化的批量写入writev或类似操作。

对于读取,将数据放入单个缓冲区并根据需要对缓冲区进行切片。


查看完整回答
反对 回复 2023-07-10
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信