1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017年1月28日 |
---|
#58 in #hashmap
175KB
3.5K SLoC
基于文件的 HashMap
此代码是 HashMap
从 libcollections
的略微修改版本。原始版本请见 libcolletions.
唯一的不同之处在于内存的分配方式。具体来说,这个版本的分配器使用基于文件的内存(实际上是交换空间)。
这可能是件坏事,但在某些情况下可能很有用,比如你计划分配巨大的 HashMap,但又不想依赖于系统交换空间。这可能有几个原因
-
你没有足够的交换空间来运行程序,因此使用这个库作为临时增加容量的方法。
-
你完全没有交换空间,因为你已经有足够的内存来支持正常使用。
-
你不想最小化代码运行时的性能影响,但又不希望像 HashMap 那样强制其他进程交换和丢弃它们的缓存。我还没有测试这在实际中的效果如何。
目前这仅在 Linux 3.11 及更高版本上工作,因为它使用了 O_TMPFILE
标志。
依赖项
~2MB
~43K SLoC