3 ms·
> Also it seems that it requires locking? That's not very good given that locks often need syscalls. AFAIU in most STMs all the fast paths are implemented usin
by titzer 1y ago
> Also it seems that it requires locking? That's not very good given that locks often need syscalls.
AFAIU in most STMs all the fast paths are implemented using lock-free algorithms with just barriers.
- codedokode 1y agoHow do you implement "commit" part safely (writing changes to the object) without locking the object?
- titzer 1y agoOne way is that the writer thread prepares a completely new copy of the object in a private area and then either compare-and-swaps a pointer to it, or executes a store with a store-store barrier (depending on details of the STM system around it).
- codedokode 1y agoInteresting, it's almost like immutable data structures.