47 lines
2.3 KiB
Markdown
47 lines
2.3 KiB
Markdown
[](https://crates.io/crates/flurry)
|
|
[](https://docs.rs/flurry/)
|
|
[](https://codecov.io/gh/jonhoo/flurry)
|
|
[](https://deps.rs/repo/github/jonhoo/flurry)
|
|
|
|
A port of Java's [`java.util.concurrent.ConcurrentHashMap`](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html) to Rust.
|
|
|
|
The port is based on the public domain [source file from JSR166] as of
|
|
CVS revision [1.323], and is jointly licensed under MIT and Apache 2.0
|
|
to match the [Rust API guidelines]. The Java source files are included
|
|
under the `jsr166/` subdirectory for easy reference.
|
|
|
|
The port was developed as part of a series of [live coding streams]
|
|
kicked off by [this tweet].
|
|
|
|
## Better Alternatives
|
|
|
|
Flurry currently suffers performance and memory usage issues under load.
|
|
You may wish to consider [papaya] or [dashmap] as alternatives if this is
|
|
important to you.
|
|
|
|
## License
|
|
|
|
Licensed under either of
|
|
|
|
* Apache License, Version 2.0
|
|
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
|
|
* MIT license
|
|
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
|
|
|
at your option.
|
|
|
|
## Contribution
|
|
|
|
Unless you explicitly state otherwise, any contribution intentionally submitted
|
|
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
|
|
dual licensed as above, without any additional terms or conditions.
|
|
|
|
[source file from JSR166]: http://gee.cs.oswego.edu/dl/concurrency-interest/index.html
|
|
[1.323]: http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/jsr166/src/main/java/util/concurrent/ConcurrentHashMap.java?revision=1.323&view=markup
|
|
[Rust API guidelines]: https://rust-lang.github.io/api-guidelines/necessities.html#crate-and-its-dependencies-have-a-permissive-license-c-permissive
|
|
[live coding streams]: https://www.youtube.com/playlist?list=PLqbS7AVVErFj824-6QgnK_Za1187rNfnl
|
|
[this tweet]: https://twitter.com/jonhoo/status/1194969578855714816
|
|
[upstream tests]: https://hg.openjdk.java.net/jdk/jdk13/file/tip/test/jdk/java/util/concurrent/ConcurrentHashMap
|
|
[papaya]: https://github.com/ibraheemdev/papaya
|
|
[dashmap]: https://github.com/xacrimon/dashmap
|