Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Various improvements around HASH nodes | Katharina Fey | 2019-07-14 | 1 | -0/+4 |
| | | | | | | | | | | | | | | | The example previously would lead to corrupt memory when running for items that needed to re-hash the hash array. This has been fixed. Secondly, all HASH node memory leaks are now fixed, that resulted from badly tracking objects through the resize process. A new function `hash_free_shallow` was added to help with this. The function `array_free_shallow` is unused but might become useful in the future and so was not removed. The hash strategy is still garbage but this can be fixed later :) | ||||
* | Adding initial support for HASH nodes | Katharina Fey | 2019-07-13 | 1 | -0/+11 |
This PR adds initial support for HASH data nodes in libbowl. This allows a performant key-value store lookup in a node tree. The hashing code implements the "murmur" hash, which has shown good performance over at [`libcuckoo`]. Currently there is no extended hashing strategy, which should definitely be changed. [`libcuckoo`]: https://github.com/qaul/libcuckoo (currently a collision will cause a recursive re-alloc) Some of the type-level hacks also begs the question if a PAIR data node might be warranted, even though it would break the simple design around bowl->data. |