Auto-scaling worker pool library, using Go 1.18 generics
Auto-scaling worker pool library, using Go 1.18 generics
I recently published a new worker pool library that uses generics. Generics allowed me to design a different API from other libraries. Instead of submitting a function for each task (as other libraries do), you submit values. This enabled me to make the pools connectable into pipelines, which can be useful if you want to separate IO-intensive from CPU-intensive tasks, or tasks of different parallelizability. It also supports auto-scaling (resizable number of workers), which currently works well for my needs, but has a lot of room for improvement, especially in the case of pipelines with bottleneck. Type Pool[I, O, C any] has three type parameters, but if you don't need all of them, I offer constructors that hide some of those types (by assigning them to empty struct). I would appreciate your feedback.
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
The first Go 1.18 generics cache library
A dependency injection library based on Go 1.18 Generics
[[Canlı-Yayın!]Fenerbahçe - Lyon Maci Canli Izle 18 Ağustos
Thread Pool implementation in C++
Finger Pool
Finger Pool
Worker Pool for Erlang
Elasticsearch for the GPG keyserver pool
Pool remodeling, resurfacing
Free BitTorrent Library Using WebTorrent