Inside Rust's std and parking_lot mutexes - who wins?

https://blog.cuongle.dev/p/inside-rusts-std-and-parking-lot-mutexes-who-win

27 points · 3 comments · view on lemmy.world

3 Comments

SorteKanin@feddit.dk · 11 pts · 306d (1 reply)

TL;DR:

  • Use std Mutex if your critical sections are short and you're not too worried about fairness.
  • Use parking_lot Mutex if you experience thread starvation and don't care about panic poisoning.
MoSal@programming.dev · 4 pts · 305d

This, and similar posts discussing the same subject, seem to fail to realize that you can trivially implement your own back-off strategy using Mutex::try_lock(). This can have significant performance implications in use-cases where absolute low latency is not required.

I rarely see this get mentioned, although I think I did see it once or twice.

A shout out to the spin crate too, which has a lot of options that may interest people explicitly supported/exposed. It also supports no_std which can be immensely useful in some use-cases.

gravitas_deficiency@sh.itjust.works · 3 pts · 305d

Huh, TIL. Good post!

tengkuizdihar@programming.dev · 1 pts · 305d
[ removed ]