NetpollGo 高性能 I/O 非阻塞网络库
Netpoll 是一款 Go 语言高性能、I/O 非阻塞 (NIO) 网络库,专注于 RPC 场景。
Netpoll 借鉴了 evio 和 netty 的优秀设计,具有出色的性能,更适用于微服务架构。
特性
-
已经支持
- LinkBuffer 提供可以流式读写的 nocopy API
- gopool 提供高性能的 goroutine 池
- mcache 提供高效的内存复用
-
IsActive
支持检查连接是否存活 -
Dialer
支持构建 client -
EventLoop
支持构建 server - 支持 TCP,Unix Domain Socket
- 支持 Linux,Mac OS(操作系统)
-
即将开源
- multisyscall 支持批量系统调用
- io_uring
- Shared Memory IPC
- 串行调度 I/O,适用于纯计算
- 支持 TLS
- 支持 UDP
-
不被支持
- Windows(操作系统)
性能
测试环境
- CPU: Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz, 4 cores
- Memory: 8GB
- OS: Debian 5.4.56.bsk.1-amd64 x86_64 GNU/Linux
- Go: 1.15.4
并发表现 (echo 1KB)
传输表现 (并发 100)
测试结论
评论
YYNetSDK高性能网络库
YYNetSDK是一款集成BSDsocket,windowsIOCP等网络技术的开发包,同时包括线程池,连接池,内存池等主流技术。可以免费用于MMORPGServer、WebGameServer,et
YYNetSDK高性能网络库
0
Picoev高性能网络库
Picoev是一个C开发的高性能网络库。Picoev在项目下有把Picoev和libevent这些库做对比,作者也提了一下为什么picoev的速度会这么快。 主要有两个原因:picoev几乎所有顺
Picoev高性能网络库
0
go-netty高性能网络库
go-netty是大量参考了netty的设计并融合Golang本身的协程特性而开发的一款高性能网络库Feature(特性)可扩展多种传输协议,并且默认实现了TCP, KCP, Websocket可扩展
go-netty高性能网络库
0