Ulrich Drepper's "what every programmer should know about memory" can help. Generally the orderings are hard as they are about compiler and cpu code reordering, not just "barriers". Happy to talk and code review if you want! (I specialise in concurrent databases)
-
-
-
Tldr - relaxed is "code before and after can be redordered anywhere around the atomic", and acquire means "all code after the atomic stays after the atomic, but proceeding can move to after as well."
- 8 more replies
New conversation -
-
-
Can you give a quick recap in which areas those terms are relevant for someone who can’t even place “atomic memory access“
-
Multi-threaded memory access. Atomics are the building blocks (assembly instructions) which you can use to implement something like a mutex. Memory ordering rules govern which guarantees the atomics provide.
End of conversation
New conversation -
-
-
May not be the best intro but I've heard really really good things about this talk around atomicshttps://www.youtube.com/watch?v=A8eCGOqgvH4 …
-
I'll check it out, thanks! :D
- 2 more replies
New conversation -
-
-
The Rustonomicon actually has a pretty good page! https://doc.rust-lang.org/nomicon/atomics.html …
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
I have heard good things about this one! But have only read a small part of it yet myself
- 1 more reply
New conversation -
-
ugh this is something I wish we had better materials for, I've never found something I liked.
-
One thing to note is that some kinds of fudging-with-memory is done by the CPU/cache, and others are done by the compiler (reordering loads etc). This is useful for understanding what's going on under the hood
- 1 more reply
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.