evaluate_hash_quality

Function evaluate_hash_quality 

Source
pub fn evaluate_hash_quality<T: Hash + ?Sized + Clone>(
    hasher: &HashFunction,
    test_data: &[T],
    bucket_count: usize,
) -> HashQuality
Expand description

Evaluate hash function quality with a test dataset

§Arguments

  • hasher - Hash function to evaluate
  • test_data - Test dataset
  • bucket_count - Number of buckets for distribution testing

§Examples

use yimi_rutool::algorithms::hash_functions::{HashFunction, evaluate_hash_quality};

let hash_fn = HashFunction::new();
let test_data: Vec<String> = (0..1000).map(|i| format!("item_{}", i)).collect();
let quality = evaluate_hash_quality(&hash_fn, &test_data, 100);
println!("Uniformity: {:.3}", quality.uniformity);