Sonic 是一个用于网络和 I/O 编程的 Go 库,它为开发人员提供了一个一致的异步模型,重点是实现最低的延迟和最佳的性能。
Sonic 是 net 包的替代方案。它消除了使用多个 goroutine 来处理多个连接和在同一个进程中进行读写的需求。通过这样做,只使用一个 goroutine 和线程来从多个连接中读写,从而带来了以下好处:
Sonic 目前仅支持基于 Unix 的系统 (BSD、macOS、Linux)。## 开始使用 请参阅 examples/。一个不错的起点是 examples/timer。所有示例都可以通过在 sonic 的根路径中调用 make 来构建。构建结果将放在 bin/ 中。
此外,该对等体与 websocket 客户端不同,在其任何函数中都不会分配和复制任何数据。此外,对等体还为程序员提供了更改其读缓冲区的选项,即在对其进行读取后进行调度:
暂无开放 Issues,或尚未同步最近议题。