What's Changed
As of go 1.21, global rand should no longer suffer from lock contention issues as long as rand.Seed
(which was deprecated in go1.20) is not called. [reference] This removes the primary use case for Chooser.PickSource
in this module, which was to avoid rand lock contention when using a single Choose in extremely high-throughput environments across multiple goroutines.
This update primarily updates documentation to reflect this, marking PickSource
as deprecated in favor of just using the default Pick
. The simple case will now perform just as well in that situation.
See #28 for details.
Full Changelog: v2.0.2...v2.1.0