A Concurrency Cost Hierarchy
I came across this gem of a post about the costs of concurrency overhead when working with concurrency primitives and concurrent data structures: https://travisdowns.github.io/blog/2020/07/06/concurrency-costs.html It conveniently classifies different approaches in "cost levels", enabling the reader to reason more abstractly about the overhead of certain classes of approaches (and how to optimize from an "expensive" cost level towards a "cheaper" cost level).
If you are interested in reducing contention between threads or squeezing some extra performance out of your own concurrent data structures, then I can highly recommend reading this material. Strap in and make yourself comfortable, because reading it whole and following some of the interesting links may easily take you an entire morning of fun reading :)
The examples in the article are given in C++, but the examples and principles translate 1:1 to Rust, because both use the same memory model for atomics, and both have the same primitives like Mutex and Condvar, hence this is also very enlightening and useful in a Rust context.