leftright-map-java
evmap
leftright-map-java | evmap | |
---|---|---|
4 | 5 | |
11 | 438 | |
- | - | |
0.0 | 1.8 | |
over 3 years ago | almost 3 years ago | |
Java | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
leftright-map-java
- 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?
evmap
-
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)
What are some alternatives?
MFL - A Java library for reading and writing MATLAB's MAT File format
plrust - A Rust procedural language handler for PostgreSQL
externalized-properties - A lightweight and extensible library to resolve application properties from various external sources.
go-evmap - A Go implementation of Rust's evmap which optimizes for high-read, low-write workloads and uses eventual consistency to ensure that readers and writers never block each other.
smp - Simple Data Format
lespas - Les Pas, photo album app for Nextcloud user
magic-bean - A very basic library which will generate getters and setters.
arc-swap - Support atomic operations on Arc itself
gradle-publish-ossrh-sample
Simple-File-Manager - Easy app for managing your files without ads, respecting your privacy & security
json - A Java JSON Library intended to be easy to learn and simple to teach
einkbro - A small, fast web browser based on Android WebView. It's tailored for E-Ink devices but also works great on normal android devices.