address scaling issues #21
Labels
enhancement
New feature or request
module/flow
Affects the flow module
module/main
Affects the main module
Problem description
Currently, fake is using Go's math/rand global methods as PRNG. The global rand methods uses the single (private) globalRand generator which is based on a locked source. This approach doesn't allow multiple goroutine to use fake in a way that scales, because we end up with lock contention on globalRand's RNG source.
Proposed solution
To address this issue, fake could expose an API allowing instantiation of fake generators, e.g.
Each instance would have their own independent PRNG instance. Of course, this would be in addition to the current global API which is more convenient when concurrency is not needed.
The text was updated successfully, but these errors were encountered: