3个不稳定版本
0.2.1 | 2021年5月23日 |
---|---|
0.2.0 |
|
0.1.1 | 2021年4月14日 |
0.1.0 | 2021年2月19日 |
1747 在 算法 中
每月下载量 494
在 2 个crate中使用(通过 minimizer-queue)
10KB
225 行
WyHash2
由王毅编写的简单、轻量且快速的哈希算法。已移植到Rust,方便使用。
还要感谢Eldruin,他们的WyHash对开始时很有帮助。
特性
-
nightly
,它启用了一些nightly专有的内建功能,可以帮助提高性能。 -
std
默认启用,但可以禁用于no_std
环境
用法
基本示例
use core::hash::Hasher;
use wyhash2::WyHash;
fn main() {
let secret = 0;
let mut hasher = WyHash::with_seed(secret);
hasher.write(&[0, 1, 2]);
println!("We got {}", hasher.finish());
}
Wyhash2 实现了 BuildHasher,这意味着它可以作为Hashmap的哈希器使用
与Hashmap的用法
use wyhash2::WyHash;
use std::collections::HashMap;
fn main() {
let hasher = WyHash::with_seed(0);
let mut map: HashMap<String, String, WyHash> = HashMap::with_hasher(hasher);
map.insert("Hello".to_string(), "World".to_string());
println!("We got {}", map.get("Hello").unwrap());
}
no_std用法
[dependencies]
wyhash2 = { version = "...", default-features = false }
许可证
根据您的要求,许可为以下之一
- Apache许可证,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
依赖项
~22KB