Marc Magnin
Marc Magnin
@chowyu08 I've done a change for this in [sync_pool](../../hmq/tree/sync_pool) if you can have a look.
@chowyu08 I'm not sure to understand, can you elaborate on "library can not let broker deploy independently"? The goal of that issue was to be able to use the broker...
@chowyu08 yey workpool seems very nice! I think you can merge the branch "pool".
Oh that's weird. I was expecting the performances to be roughly the same with a lower memory footprint and quicker startup. How are you testing the performances? A good read:...
Nice! There is that one as well that I'd like to test at some point: https://github.com/takanorig/mqtt-bench
I've been looking in with more details and I think I we will not get better results with this [workerpool](https://github.com/gammazero/workerpool) as it raise a go routine when receiving a task....
I've implemented [sync.Pool](https://golang.org/pkg/sync/#Pool) and it seems to behave nicely, then we don't have to worry at all about the workers and their TTL. I'll create a branch when I have...
After many tries I've ended with those results: ``` BenchmarkDispatcherPoolMutex-3 2000000 645 ns/op 2 B/op 0 allocs/op BenchmarkDispatcherPoolHalfChannel-3 3000000 595 ns/op 0 B/op 0 allocs/op BenchmarkDispatcherPoolFullChannel-3 2000000 861 ns/op 1...
I've already tested with an implementation ([gringo](https://github.com/textnode/gringo)) but it's not designed for infinitely running goroutine as it will use 100% of the CPU while waiting for more work. Another implementation...
Interesting post about it: https://stackoverflow.com/questions/38505830/how-to-implement-memory-pooling-in-golang `Any item stored in the Pool may be removed automatically at any time without notification. If the Pool holds the only reference when this happens,...