axhash (v0.1.1)
axhash adalah hash function non-cryptographic untuk Rust yang dirancang untuk performa tinggi, distribusi bit yang merata, dan efisiensi pada workload nyata, khususnya pada key kecil hingga menengah dan penggunaan di struktur data seperti HashMap.
Apa yang Baru di v0.1.1?
Versi ini membawa pembaruan cukup besar pada arsitektur internal untuk memaksimalkan efisiensi pada CPU modern, termasuk:
- Jalur NEON asimetris untuk ARMv8-A
- Akselerasi hardware AES
vaeseq_u8,vaesmcq_u8untuk mixing lebih cepat - Loop 128-byte yang mengoptimalkan pemrosesan data besar
- Tail processing tanpa branch untuk mengurangi misprediction
- Permutasi
Feistel Linkuntuk memperkuat difusi bit dan ketahanan DoS
Fitur Utama
- Kompatibel
no_std, tanpa alokasi memori pada jalur utama - Deterministik dan seeded, cocok untuk kebutuhan
indexing,cache, danstruktur data - Tidak bergantung pada crate eksternal
- Performa baik pada key kecil, menengah maupun payload besar
- Dirancang agar tahan terhadap collision attack pada workload umum
bukan kriptografi
Instalasi
Tambahkan ke Cargo.toml:
[]
= "0.1.1"
Benchmark (Apple M4)
Hasil benchmark internal menggunakan Criterion.rs:

Contoh Penggunaan
Hash bytes dengan seed:
use axhash_seeded;
let hash = axhash_seeded;
println!;
HashMap dengan AxBuildHasher:
use AxBuildHasher;
use HashMap;
let mut map = with_hasher;
map.insert;
Desain Singkat
axhash menggabungkan folded multiplication, branchless path untuk key kecil, dan teknik permutasi state untuk memastikan difusi bit yang merata dan performa konsisten pada berbagai ukuran data.
Batasan
axhash bukan hash function kriptografi. Jangan gunakan untuk password, tanda tangan digital, atau kebutuhan keamanan tingkat tinggi.
Lisensi
Proyek ini dirilis di bawah lisensi MIT.