dashmap
leapfrog
dashmap | leapfrog | |
---|---|---|
12 | 3 | |
2,726 | 185 | |
- | - | |
5.5 | 4.4 | |
11 days ago | 7 months ago | |
Rust | Rust | |
MIT License | 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.
dashmap
- StupidAlloc: what if memory allocation was bad actually
-
dashmap VS scalable-concurrent-containers - a user suggested alternative
2 projects | 13 Apr 2023
-
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).
-
Rust vs Go
Deadlocks and leaks are easy as other languages.
-
Shared mutable state is bad... so how do I create a global cache in a multi-threaded app?
Have you considered https://github.com/xacrimon/dashmap ?
-
Announcing Leapfrog, a faster concurrent HashMap
Dashmap made some api changes compared to the stdlibs hashmap, which leads to some oddities, as highlighted here: https://github.com/xacrimon/dashmap/issues/175
-
Writing a concurrent LRU cache
Some additional notes are in this slide deck and the implementation javadoc. You'd probably want to use something like DashMap for the hash table.
-
HashMap-based cache for async programs
You can look at existing concurrent maps like Dashmap https://github.com/xacrimon/dashmap or Cashmap https://gitlab.redox-os.org/redox-os/chashmap
-
How does one avoid lock of locks? or use the technique of latch crabbing of databases
Also dashmap
-
Noteworthy concurrent data structures?
The only one I've used is Dashmap, it's a concurrent interior-mutability hashmap. Very convenient crate in the case you need that.
leapfrog
-
Leapfrog 0.2.0 (improved concurrent rust hashmap)
I'm announcing v 0.2.0 of leapfrog (crate), which adds new features and fixes the collision problems of the previous version. The performance is slightly reduced, but not by much and the maps are still very fast.
-
On my way to make the production rusty
You can try Leapfrog as your concurrent hashmap implementation https://github.com/robclu/leapfrog. I recently stumbled across it and was pleased by its performance
-
Announcing Leapfrog, a faster concurrent HashMap
For a personal project I needed a concurrent HashMap, so thought I would port one of the fast C++ hashmaps to Rust., which I have called Leapfrog. The API is similar to the HashMap in the std library, but to improve concurrent performance it is slightly different in places.
What are some alternatives?
hashbrown - Rust port of Google's SwissTable hash map
actix - Actor framework for Rust.
moka - A high performance concurrent caching library for Rust
HashMap - An open addressing linear probing hash table, tuned for delete heavy workloads
indicium - A simple in-memory search for collections and key-value stores.
crossbeam - Tools for concurrent programming in Rust
conc-map-bench - Fork of rust concurrent hash map bencmarks to include leapfrog map.
megahash - A super-fast C++ hash table with Node.js wrapper, tested up to 1 billion keys.
lib-wc - A simple rust library
stretto - Stretto is a Rust implementation for Dgraph's ristretto (https://github.com/dgraph-io/ristretto). A high performance memory-bound Rust cache.
seize - Fast, efficient, and robust memory reclamation for Rust.