mirror of
https://github.com/greg7mdp/parallel-hashmap.git
synced 2026-08-30 09:00:38 +08:00
Update README.md
This commit is contained in:
@@ -11,10 +11,10 @@ This repository should be construed as an independent work, with no guarantees o
|
||||
|
||||
This repository aims to provide an set of excellent hash map implementations, with the following charecteristics:
|
||||
- **header only**: nothing to build, just copy the `parallel_hashmap` directory to your project and you are good to go.
|
||||
- compiler with **C++11 support** is required, **C++14/C++17 APIs are provided**
|
||||
- compiler with **C++11 support** is required, **C++14 and C++17 APIs are provided**
|
||||
- **Very efficient**, significantly faster than your compiler's unordered map/set or Boost's, or than [sparsepp](https://github.com/greg7mdp/sparsepp)
|
||||
- **Memory friendly**: low memory usage, although higher that [sparsepp](https://github.com/greg7mdp/sparsepp)
|
||||
- **Tested** on Windows ~~(vs2010-2015, g++), linux (g++, clang++) and MacOS (clang++)~~.
|
||||
- Not yet **Tested** ~~on Windows (vs2010-2015, g++), linux (g++, clang++) and MacOS (clang++)~~.
|
||||
|
||||
|
||||
## Example
|
||||
@@ -56,9 +56,9 @@ Key points:
|
||||
|
||||
- the `flat` hash maps may move the keys and values in memory. So if you keep a pointer to something inside a `flat` hash map, this pointer may become invalid when the map is mutated. The `node` hash maps don't, and should be used instead if this is a problem.
|
||||
|
||||
- the `flat` hash maps aill be smaller, and usually faster than the `node` hash maps, so use them if you can. A possible exception is when the values inserted in the hash map are large (say more than 100 bytes).
|
||||
- the `flat` hash maps will be smaller, and usually faster than the `node` hash maps, so use them if you can. A possible exception is when the values inserted in the hash map are large (say more than 100 bytes [*needs testing*]).
|
||||
|
||||
- the `parallel` hash maps are preferred when you have a few hash maps that will store a very large number of values. The `non-parallel` hash maps are preferred if you have a very large number of hash maps, each storing a relatively small number of values.
|
||||
- the `parallel` hash maps are preferred when you have a few hash maps that will store a very large number of values. The `non-parallel` hash maps are preferred if you have a large number of hash maps, each storing a relatively small number of values.
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user