#bitset #sparse #container #no-std

no-std flat_bit_set

有序、稀疏、节省空间的 bitset,适用于小数据量

1 unstable release

new 0.1.0 Nov 27, 2024

#2058 in Data structures

MIT/Apache

54KB
1K SLoC

flat_bit_set

有序、稀疏、节省空间的 bitset,适用于小数据量。

该库支持 no_std、无 unsafe、无依赖。

该库提供了 FlatBitSet 类型,实现了 HashOrd

可以对 FlatBitSet 进行二元运算。既可以就地运算,也可以创建新集合。还可以通过 Thunk 类型惰性执行很多二元运算,最后一次性构建或遍历,以避免多次分配。

增删查的性能,在数据量较小、较密集时一般明显好于 HashMapBTreeMap。若数据量较大且稀疏,则增删性能极差,查询性能也不如 HashMap。二元运算和遍历的性能总是好于 HashSet;大部分时候好于 BTreeSet,数据稀疏时持平。此外,空间占用几乎总是最小的。

Dependencies

~160KB