#hash-map #step #wrapper #fit #rehashing #shrinks

rehashinghashmap

一个逐步缩小以适应的 HashMap 包装器

3 个版本

使用旧的 Rust 2015

0.1.2 2015年7月6日
0.1.1 2015年6月29日
0.1.0 2015年6月21日

#23 in #fit

BSD-2-Clause

22KB
663 代码行(不含注释)

Rehashing Hash Map

Build Status

一个逐步缩小以适应的 HashMap 包装器。

为什么?

某些应用程序需要高可用性,而 HashMap.shrink_to_fit 是一个昂贵的操作。

如何实现?

牺牲一些内存。一个 RehashingHashMap 有两个 HashMap 结构,在缩小时会将元素从其中一个移动到另一个,在每次写入操作时进行。

何时使用?

在你想在删除集合中的元素后回收内存,但又不能停机很长时间的情况下。

无运行时依赖