[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5008":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":41,"readmeContent":42,"aiSummary":43,"trendingCount":15,"starSnapshotCount":15,"syncStatus":44,"lastSyncTime":45,"discoverSource":46},5008,"gnet","panjf2000\u002Fgnet","panjf2000","🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.","https:\u002F\u002Fgnet.host",null,"Go",11173,1114,163,0,9,34,1,44.14,"Apache License 2.0",false,"dev",true,[25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"async","asynchronous","epoll","event-driven","event-loop","go","golang","goroutine","io","kqueue","network","networking","non-blocking","reactor","tcp","udp","2026-06-12 02:01:07","\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fpanjf2000\u002Flogos\u002Fmaster\u002Fgnet\u002Flogo.png\" alt=\"gnet\" \u002F>\n\u003Cbr \u002F>\n\u003Ca title=\"Build Status\" target=\"_blank\" href=\"https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet\u002Factions?query=workflow%3ATests\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fpanjf2000\u002Fgnet\u002Ftest.yml?branch=dev&style=flat-square&logo=github-actions\" \u002F>\u003C\u002Fa>\n\u003Ca title=\"Codecov\" target=\"_blank\" href=\"https:\u002F\u002Fcodecov.io\u002Fgh\u002Fpanjf2000\u002Fgnet\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fcodecov\u002Fc\u002Fgithub\u002Fpanjf2000\u002Fgnet?style=flat-square&logo=codecov\" \u002F>\u003C\u002Fa>\n\u003Ca title=\"Supported Platforms\" target=\"_blank\" href=\"https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Linux%20%7C%20macOS%20%7C%20*BSD%20%7C%20Windows-549688?style=flat-square&logo=launchpad\" \u002F>\u003C\u002Fa>\n\u003Ca title=\"Minimum Go Version\" target=\"_blank\" href=\"https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fgo-%3E%3D1.20-30dff3?style=flat-square&logo=go\" \u002F>\u003C\u002Fa>\n\u003Cbr \u002F>\n\u003Ca title=\"Go Report Card\" target=\"_blank\" href=\"https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Fpanjf2000\u002Fgnet\">\u003Cimg src=\"https:\u002F\u002Fgoreportcard.com\u002Fbadge\u002Fgithub.com\u002Fpanjf2000\u002Fgnet?style=flat-square\" \u002F>\u003C\u002Fa>\n\u003Ca title=\"Doc for gnet\" target=\"_blank\" href=\"https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fpanjf2000\u002Fgnet\u002Fv2#section-documentation\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fgo.dev-doc-007d9c?style=flat-square&logo=read-the-docs\" \u002F>\u003C\u002Fa>\n\u003Ca title=\"Mentioned in Awesome Go\" target=\"_blank\" href=\"https:\u002F\u002Fgithub.com\u002Favelino\u002Fawesome-go#networking\">\u003Cimg src=\"https:\u002F\u002Fawesome.re\u002Fmentioned-badge-flat.svg\" \u002F>\u003C\u002Fa>\n\u003Ca title=\"Release\" target=\"_blank\" href=\"https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fpanjf2000\u002Fgnet.svg?color=161823&style=flat-square&logo=smartthings\" \u002F>\u003C\u002Fa>\n\u003Ca title=\"Tag\" target=\"_blank\" href=\"https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet\u002Ftags\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Ftag\u002Fpanjf2000\u002Fgnet?color=%23ff8936&logo=fitbit&style=flat-square\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F9602\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F9602\" alt=\"panjf2000%2Fgnet | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\nEnglish | [中文](README_ZH.md)\n\n### 🎉🎉🎉 Feel free to join [the channels about `gnet` on the Discord Server](https:\u002F\u002Fdiscord.gg\u002FUyKD7NZcfH).\n\n# 📖 Introduction\n\n`gnet` is an event-driven networking framework that is ultra-fast and lightweight. It is built from scratch by exploiting [epoll](https:\u002F\u002Fman7.org\u002Flinux\u002Fman-pages\u002Fman7\u002Fepoll.7.html) and [kqueue](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKqueue) and it can achieve much higher performance with lower memory consumption than Go [net](https:\u002F\u002Fgolang.org\u002Fpkg\u002Fnet\u002F) in many specific scenarios.\n\n`gnet` and [net](https:\u002F\u002Fgolang.org\u002Fpkg\u002Fnet\u002F) don't share the same philosophy in network programming. Thus, building network applications with `gnet` can be significantly different from building them with [net](https:\u002F\u002Fgolang.org\u002Fpkg\u002Fnet\u002F), and the philosophies can't be reconciled. There are other similar products written in other programming languages in the community, such as [libuv](https:\u002F\u002Fgithub.com\u002Flibuv\u002Flibuv), [netty](https:\u002F\u002Fgithub.com\u002Fnetty\u002Fnetty), [twisted](https:\u002F\u002Fgithub.com\u002Ftwisted\u002Ftwisted), [tornado](https:\u002F\u002Fgithub.com\u002Ftornadoweb\u002Ftornado), etc. which work in a similar pattern as `gnet` under the hood.\n\n`gnet` is not designed to displace the Go [net](https:\u002F\u002Fgolang.org\u002Fpkg\u002Fnet\u002F), but to create an alternative in the Go ecosystem for building performance-critical network services. As a result of which, `gnet` is not as comprehensive as Go [net](https:\u002F\u002Fgolang.org\u002Fpkg\u002Fnet\u002F), it provides only the core functionality (via a concise set of APIs) required by a network application and it doesn't plan on becoming a coverall networking framework, as I think Go [net](https:\u002F\u002Fgolang.org\u002Fpkg\u002Fnet\u002F) has done a good enough job in that area.\n\n`gnet` sells itself as a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go which works on the transport layer with TCP\u002FUDP protocols and Unix Domain Socket. It enables developers to implement their own protocols(HTTP, RPC, WebSocket, Redis, etc.) of application layer upon `gnet` for building diversified network services. For instance, you get an HTTP Server if you implement HTTP protocol upon `gnet` while you have a Redis Server done with the implementation of Redis protocol upon `gnet` and so on.\n\n**`gnet` derives from the project: `evio` with much higher performance and more features.**\n\n# 🚀 Features\n\n## 🦖 Milestones\n\n- [x] [High-performance](#-performance) event-driven looping based on a networking model of multiple threads\u002Fgoroutines\n- [x] Built-in goroutine pool powered by the library [ants](https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fants)\n- [x] Lock-free during the entire runtime\n- [x] Concise and easy-to-use APIs\n- [x] Efficient, reusable, and elastic memory buffer: (Elastic-)Ring-Buffer, Linked-List-Buffer and Elastic-Mixed-Buffer\n- [x] Multiple protocols\u002FIPC mechanisms: `TCP`, `UDP`, and `Unix Domain Socket`\n- [x] Multiple load-balancing algorithms: `Round-Robin`, `Source-Addr-Hash`, and `Least-Connections`\n- [x] Flexible ticker event\n- [x] `gnet` client\n- [x] Running on `Linux`, `macOS`, `Windows`, and *BSD: `Darwin`\u002F`DragonFlyBSD`\u002F`FreeBSD`\u002F`NetBSD`\u002F`OpenBSD`\n- [x] **Edge-triggered** I\u002FO support\n- [x] Multiple network addresses binding\n- [x] Support registering new connections to event-loops\n\n## 🕊 Roadmap\n\n- [ ] **TLS** support\n- [ ] [io_uring](https:\u002F\u002Fgithub.com\u002Faxboe\u002Fliburing\u002Fwiki\u002Fio_uring-and-networking-in-2023) support\n- [ ] **KCP** support\n\n***Windows version of `gnet` should only be used in development for developing and testing, it shouldn't be used in production.***\n\n# 🎬 Getting started\n\n`gnet` is available as a Go module and we highly recommend that you use `gnet` via [Go Modules](https:\u002F\u002Fgo.dev\u002Fblog\u002Fusing-go-modules), with Go 1.11 Modules enabled (Go 1.11+), you can just simply add `import \"github.com\u002Fpanjf2000\u002Fgnet\u002Fv2\"` to the codebase and run `go mod download\u002Fgo mod tidy` or `go [build|run|test]` to download the necessary dependencies automatically.\n\n## With v2\n\n```bash\ngo get -u github.com\u002Fpanjf2000\u002Fgnet\u002Fv2\n```\n\n## With v1\n\n```bash\ngo get -u github.com\u002Fpanjf2000\u002Fgnet\n```\n\n# 🎡 Use cases\n\nThe following corporations\u002Forganizations use `gnet` as the underlying network service in production.\n\n\u003Ctable>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Fwww.tencent.com\u002F\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Ftencent_logo.png\" width=\"200\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Fwww.tencentgames.com\u002F\" target=\"_blank\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Ftencent-games-logo.jpeg\" width=\"200\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Fwww.iqiyi.com\u002F\" target=\"_blank\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Fiqiyi-logo.png\" width=\"200\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Fwww.mi.com\u002Fglobal\u002F\" target=\"_blank\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Fmi-logo.png\" width=\"200\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Fwww.360.com\u002F\" target=\"_blank\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002F360-logo.png\" width=\"200\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Ftieba.baidu.com\u002F\" target=\"_blank\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Fbaidu-tieba-logo.png\" width=\"200\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Fwww.jd.com\u002F\" target=\"_blank\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Fjd-logo.png\" width=\"200\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Fwww.zuoyebang.com\u002F\" target=\"_blank\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Fzuoyebang-logo.jpeg\" width=\"200\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Fwww.bytedance.com\u002F\" target=\"_blank\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002FByteDance_Logo.png\" width=\"250\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\nIf you're also using `gnet` in production, please help us enrich this list by opening a pull request.\n\n# 📊 Performance\n\n## Benchmarks on TechEmpower\n\n```bash\n# Hardware Environment\n* 28 HT Cores Intel(R) Xeon(R) Gold 5120 CPU @ 3.20GHz\n* 32GB RAM\n* Dedicated Cisco 10-gigabit Ethernet switch\n* Debian 12 \"bookworm\"\n* Go1.19.x linux\u002Famd64\n```\n\n![](https:\u002F\u002Fraw.githubusercontent.com\u002Fpanjf2000\u002Fillustrations\u002Fmaster\u002Fbenchmark\u002Ftechempower-plaintext-top50-light.jpg)\n\nThis is a leaderboard of the top ***50*** out of ***486*** frameworks that encompass various programming languages worldwide, in which `gnet` is ranked ***first***.\n\n![](https:\u002F\u002Fraw.githubusercontent.com\u002Fpanjf2000\u002Fillustrations\u002Fmaster\u002Fbenchmark\u002Ftechempower-plaintext-topN-go-light.png)\n\nThis is the full framework ranking of Go and `gnet` tops all the other frameworks, which makes `gnet` the ***fastest*** networking framework in Go.\n\nTo see the full ranking list, visit [TechEmpower Benchmark **Round 22**](https:\u002F\u002Fwww.techempower.com\u002Fbenchmarks\u002F#hw=ph&test=plaintext&section=data-r22).\n\n***Note that the HTTP implementation of gnet on TechEmpower is half-baked and fine-tuned for benchmark purposes only and far from production-ready.***\n\n## Contrasts to the similar networking libraries\n\n### On Linux (epoll)\n\n#### Environment\n\n```bash\n# Machine information\n        OS : Ubuntu 20.04\u002Fx86_64\n       CPU : 8 CPU cores, AMD EPYC 7K62 48-Core Processor\n    Memory : 16.0 GiB\n\n# Go version and settings\nGo Version : go1.17.2 linux\u002Famd64\nGOMAXPROCS : 8\n\n# Benchmark parameters\nTCP connections : 1000\u002F2000\u002F5000\u002F10000\nPacket size     : 512\u002F1024\u002F2048\u002F4096\u002F8192\u002F16384\u002F32768\u002F65536 bytes\nTest duration   : 15s\n```\n\n[![](https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet_benchmarks\u002Fraw\u002Fmaster\u002Fresults\u002Fecho_conn_linux.png)](https:\u002F\u002Fgithub.com\u002Fgnet-io\u002Fgnet-benchmarks)\n\n[![](https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet_benchmarks\u002Fraw\u002Fmaster\u002Fresults\u002Fecho_packet_linux.png)]((https:\u002F\u002Fgithub.com\u002Fgnet-io\u002Fgnet-benchmarks))\n\n### On MacOS (kqueue)\n\n#### Environment\n\n```bash\n# Machine information\n        OS : MacOS Big Sur\u002Fx86_64\n       CPU : 6 CPU cores, Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz\n    Memory : 16.0 GiB\n\n# Go version and settings\nGo Version : go1.16.5 darwin\u002Famd64\nGOMAXPROCS : 12\n\n# Benchmark parameters\nTCP connections : 300\u002F400\u002F500\u002F600\u002F700\nPacket size     : 512\u002F1024\u002F2048\u002F4096\u002F8192 bytes\nTest duration   : 15s\n```\n\n[![](https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet_benchmarks\u002Fraw\u002Fmaster\u002Fresults\u002Fecho_conn_macos.png)]((https:\u002F\u002Fgithub.com\u002Fgnet-io\u002Fgnet-benchmarks))\n\n[![](https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet_benchmarks\u002Fraw\u002Fmaster\u002Fresults\u002Fecho_packet_macos.png)]((https:\u002F\u002Fgithub.com\u002Fgnet-io\u002Fgnet-benchmarks))\n\n### Combat with Rust\n\n[![](https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Fblog\u002Ffigures\u002FGjfx2GoXAAA5haW.jpeg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=31R8Ef9A0iw)\n\n# ⚠️ License\n\nThe source code of `gnet` should be distributed under the Apache-2.0 license.\n\n# 👏 Contributors\n\nPlease read the [Contributing Guidelines](CONTRIBUTING.md) before opening a PR and thank you to all the developers who already made contributions to `gnet`!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpanjf2000\u002Fgnet\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=panjf2000\u002Fgnet\" \u002F>\n\u003C\u002Fa>\n\n# ⚓ Relevant Articles\n\n- [A Million WebSockets and Go](https:\u002F\u002Fwww.freecodecamp.org\u002Fnews\u002Fmillion-websockets-and-go-cc58418460bb\u002F)\n- [Going Infinite, handling 1M websockets connections in Go](https:\u002F\u002Fspeakerdeck.com\u002Feranyanay\u002Fgoing-infinite-handling-1m-websockets-connections-in-go)\n- [Go netpoller 原生网络模型之源码全面揭秘](https:\u002F\u002Fstrikefreedom.top\u002Fgo-netpoll-io-multiplexing-reactor)\n- [gnet: 一个轻量级且高性能的 Golang 网络库](https:\u002F\u002Fstrikefreedom.top\u002Fgo-event-loop-networking-library-gnet)\n- [最快的 Go 网络框架 gnet 来啦！](https:\u002F\u002Fstrikefreedom.top\u002Freleasing-gnet-v1-with-techempower)\n\n# ☕️ Buy me a coffee\n\n> Please be sure to leave your name, GitHub account, or other social media accounts when you donate by the following means so that I can add it to the list of donors as a token of my appreciation.\n\n\u003Ctable>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fbuymeacoffee.com\u002Fpanjf2000\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Fbmc_qr.png\" width=\"250\" alt=\"By me coffee\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fwww.patreon.com\u002Fpanjf2000\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Fpatreon_logo.png\" width=\"250\" alt=\"Patreon\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fopencollective.com\u002Fpanjf2000\">\n          \u003Cimg src=\"https:\u002F\u002Fres.strikefreedom.top\u002Fstatic_res\u002Flogos\u002Fopen-collective-logo.png\" width=\"250\" alt=\"OpenCollective\" \u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n# 🔑 JetBrains OS licenses\n\n`gnet` has been being developed with `GoLand` IDE under the ***free JetBrains Open Source license(s)*** granted by JetBrains s.r.o., hence I would like to express my thanks here.\n\n\u003Ca href=\"https:\u002F\u002Fwww.jetbrains.com\u002F?from=gnet\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fresources.jetbrains.com\u002Fstorage\u002Fproducts\u002Fcompany\u002Fbrand\u002Flogos\u002Fjetbrains.svg\" alt=\"JetBrains logo.\">\u003C\u002Fa>\n\n# 🔋 Sponsorship\n\n[![DigitalOcean Referral Badge](https:\u002F\u002Fweb-platforms.sfo2.cdn.digitaloceanspaces.com\u002FWWW\u002FBadge%203.svg)](https:\u002F\u002Fwww.digitalocean.com\u002F?refcode=5d8774f42124&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)\n","gnet 是一个高性能、轻量级、非阻塞的事件驱动网络框架，完全用 Go 语言编写。其核心功能包括异步处理、基于 epoll 和 kqueue 的事件循环机制以及低内存消耗等特性，这使得 gnet 在许多特定场景下比 Go 标准库 net 更具性能优势。gnet 适用于需要高并发处理能力且对延迟敏感的应用场景，如实时通信服务、在线游戏服务器和物联网设备管理平台等。",2,"2026-06-11 03:02:01","top_language"]