evmap
A lock-free, eventually consistent, concurrent multi-value map. (by jonhoo)
leftright-map-java
A (hopefully) Fast, (hopefully) Thread safe map inspired by evmap (by bowbahdoe)
evmap | leftright-map-java | |
---|---|---|
5 | 4 | |
438 | 11 | |
- | - | |
1.8 | 0.0 | |
almost 3 years ago | over 3 years ago | |
Rust | Java | |
Apache License 2.0 | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
evmap
Posts with mentions or reviews of evmap.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-01-04.
-
Samsara, a safe Rust concurrent cycle collector
The problem is, every single one of these half-dozen crates has at least one known major issue (including UAF), exactly like C++ implementations (which isn't surprising since it's the kind of things where the ownership isn't clear and then the borrow checker can't help us).
-
Rwlock with "snapshot" read
You could also try https://github.com/jonhoo/evmap
-
Jon Gjengset: Rust at speed – building a fast, concurrent database (2018)
In this video, one of the people that worked on creating Noria talks a bit about the implementation of it. Very interesting talk, highly recommend watching it.
He talks, among other things, about lockless eventually consistent concurrent access to data shared between multiple threads. Jon has a crate that he made for this called evmap, for Noria and anyone else to use. GitHub repo https://github.com/jonhoo/evmap and crate https://crates.io/crates/evmap
Jon has a bunch of other interesting videos about Rust on his channel as well. https://youtube.com/c/JonGjengset
-
Call for Help - Open Source Datom/EAV/Fact database in Rust.
He talks, among other things, about lockless eventually consistent concurrent access to data shared between multiple threads. Jon has a crate that he made for this called evmap, for Noria to use. GitHub repo https://github.com/jonhoo/evmap and crate https://crates.io/crates/evmap
-
go-evmap - A generic hash map for lock-free reads (Feedback requested)
The data structure is actually very fascinating, it is optimized for high-read, low-write workloads where readers never have to coordinate with writers. This lack of coordination comes at a cost, "The trade-off exposed by this module is one of eventual consistency: writes are not visible to readers except following explicit synchronization. Specifically, readers only see the operations that preceded the last call to `Refresh` by a writer. This lets writers decide how stale they are willing to let reads get. They can refresh the map after every write to emulate a regular map, or they can refresh only occasionally to reduce the synchronization overhead at the cost of stale reads." (evmap readme)
leftright-map-java
Posts with mentions or reviews of leftright-map-java.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-18.
- Any suggestions for good open source Java codebases to study(With below criteria)?
- Call for Help - Open Source Datom/EAV/Fact database in Rust.
-
Writing a toy KV -- how do I deal with lock of locks
A later confirmation was that the library inspired a Java port which benchmarks which did not perform as the Rust author claimed when compared to data structures provided by that language.
- Why is it so incredibly difficult to publish JVM libraries? What am I missing?