Performance Improvements
Following the last release, we continue to improve the performance of the DoMulti
, DoMultiCache
and the MGet
, MGetCache
helpers.
This time, by reusing intermediate allocations and batched cache lookups:
DoMulti
andMGet
get about 13% throughput improvement and 50% allocation reduction in cluster mode.DoMultiCache
gets about 60% throughput improvement and 65% allocation reduction in both single mode and cluster mode.MGetCache
gets about 35% throughput improvement and 50% allocation reduction in both single mode and cluster mode.
Changes
- perf: use batched lru.Flights to reduce cache contentions (#288)
- perf: reuse intermediate allocations (#287)
- perf: reduce contentions caused by the usage of runtime.GOMAXPROCS (#286)
🚀 New Features
- feat:
ForceSingleClient
option to force using the single client implementation (#284)
🐛 Bug Fixes
- fix: handle cluster slots with unknown IP correctly (#285)
Contributors
We'd like to thank all the contributors who worked on this release!
@fabienjuif and @rueian