grab
gnet
Our great sponsors
grab | gnet | |
---|---|---|
2 | 6 | |
1,363 | 8,823 | |
0.8% | - | |
0.0 | 8.4 | |
7 days ago | 1 day ago | |
Go | Go | |
BSD 3-clause "New" or "Revised" License | 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.
grab
-
I created simple downloader desktop app in gioui
Anything grab can download for now. I have plans to add other cli programs to this.
-
A brief introduction to Download Managers in GoLang
I wanted a solution that can save the downloaded file to a given file location, resume the download after connection failure, and keep track of the download progress. I was in a bit of a hurry to complete my task, so I decided to use an open-source library (grab) which satisfies the above requirements and supports some more.
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
What are some alternatives?
sftp - SFTP support for the go.crypto/ssh package
fasthttp - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
netpoll - A high-performance non-blocking I/O networking framework focusing on RPC scenarios.
canopus - CoAP Client/Server implementing RFC 7252 for the Go Language
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.
fortio - Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.
evio - Fast event-loop networking for Go
kcptun - A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。N:M 多重化と FEC を備えた KCP に基づく安定した安全なトンネル。 N:M 다중화 및 FEC를 사용하는 KCP 기반의 안정적이고 안전한 터널입니다. Un tunnel stable et sécurisé basé sur KCP avec multiplexage N:M et FEC.
gaio - High performance async-io(proactor) networking for Golang。golangのための高性能非同期io(proactor)ネットワーキング
dns - DNS library in Go
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.