smolset

Crates.iosmolset
lib.rssmolset
version1.3.1
sourcesrc
created_at2020-08-19 11:31:36.025698
updated_at2021-09-03 12:19:29.776237
description" An unordered set of elements optimized for small sizes. This is a fork of the original library with overhauled internals, better fallback perforamance (O(1) insert and find) and more features!
homepage
repositoryhttps://github.com/hbina/smolset
max_upload_size
id278174
size31,422
Hanif Ariffin (hbina)

documentation

README

SmolSet

Crate

This crate implements a small unordered-set data structure implemented using smallvec. It initially stores set elements in a simple unordered array. When the set is smaller than a parameterizable size, no allocations will be performed. The data structure is thus very space-efficient for sets of only a few elements, much more so than a tree-based or hash-table-based set data structure. It is also fast when the set is small: queries and inserts perform a linear scan, which is more cache-friendly than a pointer-chasing search through a tree.

However, as the set grows, it will transform internally into a std::collections::HashSet.

Note

This is a fork of the original library here: rust-smallset. I have rewritten the internals completely to not have such a bad fallback mode and added more features (and their tests and documentations).

Commit count: 19

cargo fmt