hashbrown:Google的SwissTable哈希图的Rust端口

时间:2024-04-03 20:43:31
【文件属性】:

文件名称:hashbrown:Google的SwissTable哈希图的Rust端口

文件大小:98KB

文件格式:ZIP

更新时间:2024-04-03 20:43:31

Rust

炸土豆饼 此板条箱是Google高性能哈希表的Rust端口,适用于代替Rust的标准HashMap和HashSet类型。 可以在 找到SwissTable的原始C ++版本,此概述了该算法的工作原理。 从Rust 1.36开始,现在是Rust标准库的HashMap实现。 但是,您可能仍想使用此板条箱,因为它可在没有std环境中工作,例如嵌入式系统和内核。 特征 标准库HashMap和HashSet类型的直接替换。 使用作为默认哈希器,它比SipHash快得多。 但是,AHash不能提供与SipHash相同水平的HashDoS抵抗力,因此,如果这对您很重要,则可能需要考虑使用其他哈希器。 比以前的标准库HashMap快约2倍。 较低的内存使用量:每个条目仅1字节的开销,而不是8字节。 兼容#[no_std]但需要与全球分配alloc箱)。 空哈希映射不分配任何内存。 SIM


【文件预览】:
hashbrown-master
----LICENSE-MIT(1KB)
----Cargo.toml(2KB)
----ci()
--------run.sh(1KB)
--------tools.sh(891B)
--------miri.sh(348B)
----src()
--------raw()
--------macros.rs(2KB)
--------set.rs(64KB)
--------scopeguard.rs(771B)
--------rustc_entry.rs(18KB)
--------map.rs(146KB)
--------lib.rs(5KB)
--------external_trait_impls()
----LICENSE-APACHE(11KB)
----.travis.yml(2KB)
----README.md(7KB)
----clippy.toml(68B)
----tests()
--------serde.rs(1KB)
--------set.rs(960B)
--------hasher.rs(1KB)
--------rayon.rs(15KB)
----.gitignore(30B)
----CHANGELOG.md(11KB)
----benches()
--------bench.rs(8KB)

网友评论