3个不稳定版本

0.2.1 2021年5月23日
0.2.0 2021年4月14日
0.1.1 2021年4月14日
0.1.0 2021年2月19日

1747算法

Download history 299/week @ 2024-03-13 192/week @ 2024-03-20 122/week @ 2024-03-27 201/week @ 2024-04-03 129/week @ 2024-04-10 153/week @ 2024-04-17 206/week @ 2024-04-24 138/week @ 2024-05-01 115/week @ 2024-05-08 171/week @ 2024-05-15 218/week @ 2024-05-22 147/week @ 2024-05-29 169/week @ 2024-06-05 104/week @ 2024-06-12 94/week @ 2024-06-19 92/week @ 2024-06-26

每月下载量 494
2 个crate中使用(通过 minimizer-queue

MIT/Apache

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 }

许可证

根据您的要求,许可为以下之一

依赖项

~22KB