gnet
go-nbd
gnet | go-nbd | |
---|---|---|
6 | 6 | |
9,081 | 335 | |
- | - | |
8.4 | 7.5 | |
6 days ago | 7 months ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gnet
- Gnet is the fastest networking framework in Go
-
Handling TCP connections at scale - Ideas/Suggestions
Exciting question. Many goroutines consume resources accordingly and could also generate latency due to this. If you work under Linux: Have you looked at epoll? Since the system has to do basic connection handling anyway, you can shift or save at least part of the task. gnet is a very good library here to handle epoll & co. Maybe it makes sense to have a look at it or directly use epoll under go.
-
Show HN: Go-Nbd – A Pure Go NBD Server and Client
Since this heavily involves networking, take a look into using gnet [0]. You might find some interesting performance improvements by using that over just net.Conn.
[0] https://github.com/panjf2000/gnet
-
Millions of Active WebSockets with Node.js
Node is a joke. It's not good for this.
Check out https://github.com/panjf2000/gnet, it also has some links at the end.
-
Show HN: Python framework is faster than Golang Fiber
Since we're in the useless benchmark, this Go native library completely wreck any C/C++ lib wrapped by Python: https://github.com/panjf2000/gnet
-
Goroutines Are Not Significantly Lighter Than Threads
Go does not forces you to do any of that: https://github.com/panjf2000/gnet
go-nbd
- Show HN: go-nbd – A Pure Go NBD Server and Client
-
Show HN: Go-Nbd – A Pure Go NBD Server and Client
You should probably defer mutex unlock() and not use naked returns: https://github.com/pojntfx/go-nbd/blob/main/pkg/backend/file...
- go-nbd – A Pure Go NBD Server and Client Library
What are some alternatives?
fasthttp - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
UDPspeeder - A Tunnel which Improves your Network Quality on a High-latency Lossy Link by using Forward Error Correction, possible for All Traffics(TCP/UDP/ICMP)
netpoll - A high-performance non-blocking I/O networking framework focusing on RPC scenarios.
usbd - User-Space Block Device (USBD) Framework (written in Go)
gev - 🚀Gev is a lightweight, fast non-blocking TCP network library / websocket server based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
nbdkit-baddisk-plugin - An nbdkit plugin which fails every read and write.
evio - Fast event-loop networking for Go
pyamigadebug - Framework for abstracting Amiga debuggers and access to AmigaOS libraries and devices. AmigaXfer lives here.
nbio - Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use.
nbdkit-badsector-plugin - An nbdkit plugin which simulates a disk with a bad sector.
gaio - High performance async-io(proactor) networking for Golang。golangのための高性能非同期io(proactor)ネットワーキング
quic-go - A QUIC implementation in pure Go