gnet is a high-performance, event-driven networking framework written in pure Go.
gnet addresses the need for ultra-fast, lightweight network I/O in scenarios where Go's standard net package introduces unnecessary overhead. It builds directly on epoll and kqueue system calls to implement a non-blocking, event-driven reactor pattern. Rather than spawning a goroutine per connection as the standard library does, gnet uses an event loop model that processes multiple connections efficiently within fewer threads, achieving higher throughput and lower memory consumption in specific workloads.
Developers should choose gnet when building high-concurrency network services where performance and resource efficiency matter more than the simplicity of Go's conventional networking model. It suits applications like game servers, real-time messaging systems, or proxy services that handle thousands of concurrent connections. The README notes that gnet and the standard net package follow fundamentally different philosophies in network programming, making them incompatible approaches rather than drop-in alternatives. The tool works similarly to established frameworks in other languages such as libuv, netty, twisted, and tornado.
The project maintains active test coverage and builds successfully across Linux, macOS, BSD variants, and Windows. Development follows a structured approach with organized issue tracking and documentation available through standard Go package resources.