Using the holidays for a 2-week coding session. Writing a new transactional memory manager that’s O(1) for all operations, completely non-blocking and progress-guaranteeing, and uses atomics only for writes.
It’s just Dijkstra’s concurrent garbage collection scheme layered on top of C++ with smart pointers and a side channel to track the location of all pointers in memory.
-
-
It can be nonblocking and support relocation because all smart pointers into managed memory are const, however futures and transactional variables can be mutated in-place in managed memory because they support atomic forwarding.
-
This is nice for a “mostly functional” programming style but wouldn’t be performant in Java.
End of conversation
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.