Skip to content

Tags: DavidLeeds/hashmap

Tags

v2.0.3

Toggle v2.0.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update README.md

v2.0.2

Toggle v2.0.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update README.md

v2.0.1

Toggle v2.0.1's commit message
ci: run ctest from the build directory

Tests were not running before, due to being in the parent directory.

v2.0

Toggle v2.0's commit message
hashmap: v2.0 initial commit (new API + algorithm improvements)

Hashmap 2.0 Highlights:
* New generic and type-safe API. We no longer need to use a macro to generate type-safe wrapper functions.
* Improved linear probing algorithm. The previous algorithm could fail on insert, rehash, or remove if a particularly poor hash function was provided. The new algorithm can never fail, even with a worst-case hash function. This adds user confidence and reduces failure modes.
* Added a supplemental hash function. Linear probing is especially sensitive to clustering due to poor hash functions. Since the hash function is user-supplied, adding a supplemental hash function provides more consistent performance.
* Now, always provide hashmap statistics API with no additional overhead to ordinary hashmap operations.
* Now, do lazy allocation on init. We reserve no memory on the heap until the first item is added.
* Default hashmap size is reduced to 128 elements.
* A hashmap_reserve() function was added to pre-allocate the hashmap.
* hashmap_foreach macros have been added to hide the complexities of iterator usage and streamline iteration.

v1.0.1

Toggle v1.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #5 from ChargePoint/ckhardin/cmake

cmake: just cleanup some tabbing and alignment in consistencies

v1.0

Toggle v1.0's commit message
build: switched from make to cmake