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 • Rust 包仓库 299/week @ 2024-03-13 • Rust 包仓库 192/week @ 2024-03-20 • Rust 包仓库 122/week @ 2024-03-27 • Rust 包仓库 201/week @ 2024-04-03 • Rust 包仓库 129/week @ 2024-04-10 • Rust 包仓库 153/week @ 2024-04-17 • Rust 包仓库 206/week @ 2024-04-24 • Rust 包仓库 138/week @ 2024-05-01 • Rust 包仓库 115/week @ 2024-05-08 • Rust 包仓库 171/week @ 2024-05-15 • Rust 包仓库 218/week @ 2024-05-22 • Rust 包仓库 147/week @ 2024-05-29 • Rust 包仓库 169/week @ 2024-06-05 • Rust 包仓库 104/week @ 2024-06-12 • Rust 包仓库 94/week @ 2024-06-19 • Rust 包仓库 92/week @ 2024-06-26 • Rust 包仓库

每月下载量 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