A Swift package for open-addressed sets and dictionaries that use the cuckoo hasing algorithm.
Import the CuckooCollections
module to use two new data structures that feature constant-time lookups, insertions and removals:
CuckooSet
CuckooDictionary
This cuckoo hashing algorithm uses FNV-1
and FNV-1a
with a 64-bit digest.
The hash function implementation is also open-source, the code is available
here.
This package is tested in continuous integration on the following platforms:
As a Swift Package Manager project, this package uses semantic versioning rules.
All releases before 1.0.0
are considered pre-release. Under pre-release rules,
code-breaking changes may be introduced with a minor version bump. To avoid this, specify
the version requirement in your package manifest as follows:
.package(url: "https://github.com/crichez/swift-cuckoo-collections", .upToNextMinor(from: "0.0.1"))
link |
Stars: 0 |
Last commit: 5 days ago |
This pre-release includes internal changes made to the set bump and insertion process. These are mostly for clarity and should offer very slight performance improvements, including reducing the memory size of CuckooSet
.
No code-breaking changes were introduced in this version.
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics