awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
panjf2000 avatar

panjf2000/gnet

0
View on GitHub↗
11,186 stars·1,117 forks·Go·Apache-2.0·25 viewsgnet.host↗

Gnet

gnet is a high-performance event-driven networking framework for Go, designed for building scalable TCP, UDP, and Unix socket servers. It functions as a non-blocking socket manager and multi-reactor network engine that handles thousands of simultaneous connections with low memory overhead.

The framework distinguishes itself by using a multi-reactor architecture that distributes I/O across multiple event loops pinned to operating system threads to minimize context switching. It employs edge-triggered polling to reduce system call frequency and utilizes elastic ring-buffers to minimize allocation costs and garbage collection pressure.

The library covers a broad range of networking capabilities, including load-balanced connection distribution across CPU cores, asynchronous task execution via worker pools, and a structured system for connection lifecycle management. It also provides primitives for implementing custom binary protocols and managing low-level socket options.

Features

  • Multi-Reactor Implementations - Implements a multi-reactor architecture that distributes network I/O across multiple parallel event loops.
  • Go Event-Driven Networking Frameworks - Provides a high-performance Go framework for building scalable, non-blocking TCP, UDP, and Unix socket servers.
  • Non-Blocking TCP Servers - Functions as a non-blocking socket manager capable of handling thousands of simultaneous connections with low overhead.
  • Event-Driven Networking - Implements a high-performance runtime model for handling concurrent connections using non-blocking I/O.
  • High-Concurrency Networking - Designed to manage massive numbers of simultaneous TCP and UDP connections with minimal memory overhead.
  • Multi-Transport Support - Enables seamless communication over TCP, UDP, and Unix Domain Sockets.
  • Socket Event Handling - Processes asynchronous read, write, and error events on network sockets to maintain data flow.
  • Non-Blocking Socket I/O - Provides asynchronous reading and writing of network sockets to handle thousands of concurrent connections without stalling.
  • TCP and Unix Socket Listeners - Supports accepting incoming traffic through both standard TCP ports and local Unix domain sockets.
  • Edge-Triggered I/O Pollers - Uses edge-triggered polling to minimize system calls by only notifying the application when socket states change.
  • Network Event Monitoring Schedulers - Utilizes low-level schedulers to monitor file descriptors for read, write, and close events.
  • Thread-Pinned Loops - Binds event loops to specific operating system threads to minimize context switching and improve cache locality.
  • Elastic Ring Buffers - Employs expandable circular buffers to manage data streams and reduce garbage collection pressure.
  • Event-Driven Task Dispatching - Provides a mechanism to send tasks to specific event loops for thread-safe connection management.
  • Event Loop Load Balancers - Distributes incoming network traffic across multiple internal event loops to optimize resource utilization.
  • Connection Lifecycle Managers - Tracks active network sockets and manages the connection lifecycle, including termination and state management.
  • Custom Protocol Implementations - Provides primitives for designing and implementing custom application-specific binary communication protocols.
  • Infrastructure Optimizations - Uses thread-pinning and edge-triggered I/O to maximize throughput and minimize system call frequency for low-latency performance.
  • Network Listeners - Configures and creates network listeners with custom socket options for address reuse and buffer sizing.
  • Socket Option Configurations - Sets low-level socket parameters such as keep-alive and address reuse to tune network stack interaction.
  • Asynchronous Task Execution - Schedules and executes non-blocking tasks within the event loop using a priority-based poller.
  • Connection Indexing Systems - Implements high-concurrency lookup structures to track and access active network connections in constant time.
  • Event Loop Concurrency - Controls the number of event-loop threads and distributes connections to ensure efficient processing power.
  • Concurrent Task Execution - Implements a worker pool to execute multiple concurrent background operations to increase throughput.
  • Reusable Buffer Pools - Minimizes allocation costs by employing reusable buffer structures that adapt to incoming network data.
  • Networking Libraries - High-performance, event-driven networking framework.
  • Network Libraries - High-performance, non-blocking event-driven Go network framework.
  • Networking Libraries - Event-driven, non-blocking networking framework.

Star history

Star history chart for panjf2000/gnetStar history chart for panjf2000/gnet

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Gnet

These projects share indexed features with Gnet. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • cloudwego/netpollcloudwego avatar

    cloudwego/netpoll

    4,583View on GitHub↗

    Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix domain socket connections. It utilizes a non-blocking event loop to monitor file descriptors and trigger callbacks for read and write events, serving as a high-performance socket manager and TCP network poller. The framework optimizes throughput across CPU cores by distributing incoming network connections across multiple pollers. It implements zero-copy networking primitives, using linked buffers and specialized memory management to read and write data while minimizing memory

    Go
    View on GitHub↗4,583
  • tidwall/eviotidwall avatar

    tidwall/evio

    6,034View on GitHub↗

    Evio is a high-performance networking library for Go that provides a non-blocking socket framework. It utilizes an event loop to process TCP, UDP, and Unix domain socket traffic through a low-level asynchronous protocol interface. The project functions as a multi-core network load balancer, distributing connections across multiple CPU cores using round-robin or least-connections strategies. It supports socket reuse, allowing multiple sockets on a single host to bind to the same port. The library covers a broad range of socket management and packet processing capabilities, including multi-pro

    Gonetworking
    View on GitHub↗6,034
  • chenshuo/muduochenshuo avatar

    chenshuo/muduo

    16,157View on GitHub↗

    Muduo is a C++11 event-driven network library and framework designed for building high-concurrency Linux servers. It provides a toolkit for implementing scalable network services and socket communication using non-blocking I/O and asynchronous event processing. The framework implements a multi-threaded TCP server architecture that distributes connection handling across multiple CPU threads to maximize server throughput. This is achieved through a one-loop-per-thread model and a reactor pattern implementation, which dispatch network events from a central demultiplexer to registered handler fun

    C++
    View on GitHub↗16,157
  • walkor/workermanwalkor avatar

    walkor/workerman

    11,547View on GitHub↗

    Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build high-concurrency network servers, including an asynchronous TCP framework, a coroutine library for task management, and dedicated implementations for HTTP and WebSocket servers. The project enables the development of specialized network services using custom frame-based communication protocols. It supports both inbound concurrent server implementation and asynchronous outbound connectivity to remote services. The framework covers a broad range of network programming capabili

    PHPasynchronousevent-drivenhigh-performance
    View on GitHub↗11,547
Compare all 30 related projects→

Frequently asked questions

What does panjf2000/gnet do?

gnet is a high-performance event-driven networking framework for Go, designed for building scalable TCP, UDP, and Unix socket servers. It functions as a non-blocking socket manager and multi-reactor network engine that handles thousands of simultaneous connections with low memory overhead.

What are the main features of panjf2000/gnet?

The main features of panjf2000/gnet are: Multi-Reactor Implementations, Go Event-Driven Networking Frameworks, Non-Blocking TCP Servers, Event-Driven Networking, High-Concurrency Networking, Multi-Transport Support, Socket Event Handling, Non-Blocking Socket I/O.

Which projects share features with panjf2000/gnet?

Projects with overlapping indexed features include: cloudwego/netpoll — Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix… tidwall/evio — Evio is a high-performance networking library for Go that provides a non-blocking socket framework. It utilizes an… chenshuo/muduo — Muduo is a C++11 event-driven network library and framework designed for building high-concurrency Linux servers. It… walkor/workerman — Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build… yuesong-feng/30daymakecppserver — This project is a C++ TCP server framework and educational socket programming guide. It provides a high-performance… riba2534/tcp-ip-networknote — TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP…