the initial size of each shard; this must be a power of 2.
the number of workers.
Clear the mapping.
Clear the mapping.
Delete the value associated with key
Delete the value associated with key
Get the value associated with key k, or default if the key is not in the map.
Get the value associated with key k, or default if the key is not in the map.
If key is not in the map, initialise it op; otherwise return the value it maps to
If key is not in the map, initialise it op; otherwise return the value it maps to
A hash value.
A hash value.
Improve the quality of a hash.
Improve the quality of a hash. Code taken from the code for java.util.concurrent.ConcurrentHashMap
Add key -> data to the mapping, overwriting any previous value there.
Add key -> data to the mapping, overwriting any previous value there.
An implementation of a HashMap based upon "Boosting Multi-Core Reachability Performance with Shared Hash Tables", by Alfons Laarman, Jaco van de Pol and Michael Weber, extended to allow deletion and resizing.