I'm curious if you considered using https://docs.rs/crossbeam/latest/crossbeam/sync/struct.ShardedLock.html for the RwLock (or offering as an option) given that your get() paths lock the shard readable having many readers should scale better with more threads since ShardedLock uses many cache lines to spread out the reader locks and so has less contention.
I'm curious if you considered using https://docs.rs/crossbeam/latest/crossbeam/sync/struct.ShardedLock.html for the RwLock (or offering as an option) given that your
get()paths lock the shard readable having many readers should scale better with more threads since ShardedLock uses many cache lines to spread out the reader locks and so has less contention.