gnet
pyamigadebug
gnet | pyamigadebug | |
---|---|---|
6 | 3 | |
9,081 | 45 | |
- | - | |
8.4 | 4.1 | |
5 days ago | over 1 year ago | |
Go | Python | |
Apache License 2.0 | MIT License |
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
pyamigadebug
-
Show HN: Go-Nbd – A Pure Go NBD Server and Client
NBD is fairly simple. I wrote a minimal server in Python[0]. It is just a few lines.
0. https://github.com/rvalles/pyamigadebug/blob/master/NBDServe...
-
amigaXfer: Lightning fast serial null-modem cable file/floppy transfer
Code here: https://github.com/rvalles/pyamigadebug/
-
Bootstrapping an Amiga without a bootable floppy
Did re-read your comment.
Regarding trackdisk.device, you might want to take a look at:
https://github.com/rvalles/pyamigadebug/blob/master/ExecLibr...
And the function calling mechanism for RomWack backend:
https://github.com/rvalles/pyamigadebug/blob/master/RomWack....
Ultimately, TrackdiskDevice ends up being a thin wrapper around ExecLibrary:
https://github.com/rvalles/pyamigadebug/blob/master/Trackdis...
For performance purposes, the Floppy tool does instead use this small server written in asm:
https://github.com/rvalles/pyamigadebug/blob/master/asm/flop...
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
wezterm - A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
netpoll - A high-performance non-blocking I/O networking framework focusing on RPC scenarios.
nbdkit-baddisk-plugin - An nbdkit plugin which fails every read and write.
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.
amigagfxmangle - Tools to display/manipulate ILBM IFF files and convert images to/from Amiga screen formats such as HAM, EHB.
evio - Fast event-loop networking for Go
pybbsterm - Terminal compatible with ansi-bbs. Meant to be a prototype, but published because why not.
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.
go-nbd - Pure Go NBD server and client library.
gaio - High performance async-io(proactor) networking for Golang。golangのための高性能非同期io(proactor)ネットワーキング
quic-go - A QUIC implementation in pure Go