I am looking for a keyword library → value written in C that supports a theoretically unlimited amount of cheap transactions.
I would like to have one dictionary in memory, with hundreds of threads starting transactions, possibly changing the dictionary, ending (completing) the transaction, or potentially aborting the transaction. Only 50% of the time, these threads actually change the dictionary.
Most of the dictionary transaction implementations I've seen are always copied, not copied when writing, whenever a transaction starts. Given the expected size (> 1 GB) of the dictionary, I hope to find something that is COW only when something really changed during the transaction. I also hope that it is packed with most major GNU / Linux distributions.
Any suggestions or links are greatly appreciated.
source
share