Proposing a library to include in Boost
Hi, This is Mohit Saini. I developed a lazy_map library, whose interface is similar to std::unordered_map but lazy_map is O(1) copiable. Other operations like Deletion, Lookup, Insertion etc. continue to cost O(1).. which also implies that lazy_map is not a simple cow_wrapperstd::unordered_map .. lazy_map is way more clever than that. Learn more at : https://github.com/tinytrashbin/lazy_map Specially, checkout the section which explains the "Fragment" tree. Lazy_map is heavily used in our codebase for taking snapshot of a very large state ( of size ~ 5 GBs), enabling "fork" of a snapshot in O(1) time for further modification in the forked snapshot, allowing a large number of threads to operate on different snapshots of very large size, concurrently without interfering with each other where each of the thread is even "writing" to their snapshot. I believe such a utility will be very helpful for others too. I'm looking for boost-maintainers who can review and suggest what all I need to do so that lazy_map can be accepted in Boost. Thanks -- Mohit Saini
participants (1)
-
Mohit Saini