gnet
gnet copied to clipboard
🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.
lock_free_queue.go的Enqueue()函数内的`n := &node{value: task}`会调用到runtime.newobject和runtime.mallocgc, Enqueue()频繁调用时,是否会有gc问题,是否考虑用类似sync.Pool的形式来管理node
it's important for gnet to cap per connection resource usage as other systems do, for example Linux kernal has options for per connection send/recv buffer size. In gnet's case, per...
多核linux和mac下配置NumEventLoop多了反而没有没有配置1的性能高,然后用pprof查看线程不管配置1还是4,都是只有一个线程(多个协程)。 怎样能让gnet确实启动多个线程呢?
Hi, Do you consider about integrating gnet with [f-stack](https://github.com/F-Stack/f-stack/blob/dev/lib/ff_epoll.h) or other dpdk-family net-dev lib as the second option? Maybe the performance should be more better in some scenarios.
It's really unacceptable compare to actix-web ``` # actix-web hello world ❯ wrk -t2 -c400 -d30 http://127.0.0.1:8003 Running 30s test @ http://127.0.0.1:8003 2 threads and 400 connections Thread Stats Avg...
i implement and test the following two kind of redis impl, - gnet: https://github.com/IceFireDB/redhub (using gnet) - go-net: using go-net connection (get/set only) ## test result summary - write: rps:...
如果用 gnet 做全双工的代理隧道的场景。 client -- raw --> proxy(use gnet) -- socks5(raw) --> server 这里遇见几个问题。 1)按 gnet 的事件划分,在 OnOpen 里同步去建立 proxy -> server 的连接会比较合适,那么需要 读取 client 数据流里的前几个 bytes 来在 client proxy...
2000 个连接,每10 秒通过远端服务器向其他连接广播一条消息,大小 1K 左右 实际测试下来与直接转发效率差了 25%左右 后来也使用了 [https://github.com/calbot/gnet.git](callbot的客户端)来管理gnet与服务器的连接,发现性能依旧是降低的 不太适合这个场景?还是使用有问题 ``` func (es *echoServer) React(frame []byte, c gnet.Conn) (out []byte, action gnet.Action) { data := append([]byte{}, frame...) _ = es.pool.Submit(func()...
1. Everything looks good on benchmark. However, do you have edge case whereby go default "net" package is more suitable for use? I've come across "problems" using speed optimized packages...