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.
-
Show this thread
-
-
Replying to @paniq
LMDB stores all data in a B+ tree and write transactions fork pages of data using copy on write to avoid a transaction log. I support arbitrary C++ data structures containing mutable data and maintain a transaction to write and undo in-place.
1 reply 1 retweet 8 likes -
Replying to @TimSweeneyEpic @paniq
For large data structures like arrays and dictionaries, I provide a std alternative that uses mostly functional data structures so that you can essentially create low-cost (O log n) forks.
1 reply 1 retweet 9 likes
Replying to @TimSweeneyEpic @paniq
Think of LMDB as fast transactions for sparsely updated pages of uniform data, and what I’m attempting as fast transactions in ordinary C++ or script style code.
8:14 AM - 27 Dec 2019
0 replies
2 retweets
8 likes
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.