From ed8c65d93049baf123d8557c3b59bd7530131cf5 Mon Sep 17 00:00:00 2001 From: flu0r1ne Date: Mon, 4 Dec 2023 19:49:09 -0600 Subject: Add README --- README | 3 + compute_collision_distribution.rs | 241 +++++++++++++ more_results/private_ips.md | 216 ++++++++++++ more_results/unique_kmers.md | 216 ++++++++++++ more_results/word_lists.md | 653 ++++++++++++++++++++++++++++++++++++ more_results/wordlist_collisions.md | 50 +++ 6 files changed, 1379 insertions(+) create mode 100644 README create mode 100644 compute_collision_distribution.rs create mode 100644 more_results/private_ips.md create mode 100644 more_results/unique_kmers.md create mode 100644 more_results/word_lists.md create mode 100644 more_results/wordlist_collisions.md diff --git a/README b/README new file mode 100644 index 0000000..50f04d2 --- /dev/null +++ b/README @@ -0,0 +1,3 @@ +Extra Data and Scripts + +See [https://flu0r1ne.net/logs/simple_hash_functions](https://flu0r1ne.net/logs/simple_hash_functions) diff --git a/compute_collision_distribution.rs b/compute_collision_distribution.rs new file mode 100644 index 0000000..8a44fe8 --- /dev/null +++ b/compute_collision_distribution.rs @@ -0,0 +1,241 @@ +// Requires clap and statrs + +use statrs::function::gamma::ln_gamma; +use std::f64::consts::E; +use clap::Parser; + +struct LnGammaCache { + n: usize, + k: usize, + n_log: f64, + // contains [0, k] which represents [1, k+1] + lk_tab: Vec, + // contains [n-k, n] + hk_tab: Vec, +} + +impl LnGammaCache { + + fn precompute_ktab(&mut self, n: usize) { + for k in 0..=self.k { + self.lk_tab[k] = ln_gamma((k + 1) as f64); + self.hk_tab[k] = ln_gamma((n - k + 1) as f64); + } + } + + fn new(n: usize, k: usize) -> Self { + let mut cache = LnGammaCache { + n, + k, + n_log: (n as f64).ln(), + lk_tab: vec![0f64; k+1], + hk_tab: vec![0f64; k+1], + }; + + cache.precompute_ktab(n); + + cache + } + + unsafe fn ln_gamma_unchecked(&self, i: usize) -> f64 { + unsafe { + if i <= self.k + 1 { + debug_assert!(i > 0, "Uncached call to ln_gamma"); + return *self.lk_tab.get_unchecked(i - 1) + } else { + debug_assert!(self.n - self.k <= i && i <= self.n + 1, "Uncached call to ln_gamma"); + return *self.hk_tab.get_unchecked(self.n - (i - 1)) + } + } + } +} + +// The performance is dependent heavily on the execution time of this function +// After many optimizations, powf is the most computationally expensive unit in this routine +fn evaluate_probability_log_gamma( + partition: &[usize], + k: usize, + n: usize, + maxpart: usize, + cache: &LnGammaCache, +) -> f64 { + let mut c0 = 0; + + for i in 0..maxpart { + c0 += partition[i]; + } + + c0 = n - c0; + + let log_probability = unsafe { + let mut log_denominator = (k as f64) * cache.n_log + cache.ln_gamma_unchecked(c0 + 1); + let log_numerator = cache.ln_gamma_unchecked(n + 1) + cache.ln_gamma_unchecked(k + 1); + + for i in 0..maxpart { + log_denominator += cache.ln_gamma_unchecked(partition[i] + 1); + log_denominator += (partition[i] as f64) * cache.ln_gamma_unchecked(i + 2); + } + + log_numerator - log_denominator + }; + + E.powf(log_probability) +} + +fn evaluate_probability( + partition: &[usize], + probdist: &mut [f64], + k: usize, + n: usize, + maxpart: usize, + cache: &LnGammaCache +) { + let mut collisions = 0usize; + + for i in 1..maxpart { + collisions += i * partition[i]; + } + + probdist[collisions] += evaluate_probability_log_gamma(partition, k, n, maxpart, cache); +} + +fn generate_partitions_dfs( + partition: &mut [usize], + probdist: &mut [f64], + k: usize, + n: usize, + n_collisions: usize, + collision_ub: usize, + level_ub: &[usize], + cache: &LnGammaCache, +) { + if n_collisions > collision_ub { + return; + } + + generate_partitions_dfs(partition, probdist, k, n, n_collisions + 1, collision_ub, level_ub, cache); + + let mut n_subcomb = partition[0] / n_collisions; + + n_subcomb = std::cmp::min(n_subcomb, level_ub[n_collisions - 1]); + + for i in 1..=n_subcomb { + partition[0] -= i * n_collisions; + partition[n_collisions- 1] += i; + + evaluate_probability(partition, probdist, k, n, n_collisions, cache); + + generate_partitions_dfs(partition, probdist, k, n, n_collisions + 1, collision_ub, level_ub, cache); + + partition[0] += i * n_collisions; + partition[n_collisions - 1] -= i; + } +} + +fn generate_partitions( + k: usize, + n: usize, + collision_ub: usize, + level_ub: &[usize], +) -> Vec { + let mut partitions = vec![0usize; k]; + let mut probdist = vec![0f64; k]; + + partitions[0] = k; + + let cache = LnGammaCache::new(n, k); + + if collision_ub > 0 { + evaluate_probability(&partitions, &mut probdist, k, n, 1, &cache); + } + + if collision_ub > 1 { + generate_partitions_dfs(&mut partitions, &mut probdist, k, n, 2, collision_ub, level_ub, &cache); + } + + return probdist; +} + +fn parse_max_level_collisions(s: &str) -> Vec { + let mut max_sizes = Vec::new(); + + let mut add_token = |token: &str| { + let sz = match token.parse::() { + Ok(res) => res, + Err(err) => { + eprintln!("Failed to parse max sizes: {}", err); + std::process::exit(1); + } + }; + + max_sizes.push(sz); + }; + + let mut i = 0usize; + while let Some(j) = s[i..].find(',') { + add_token(&s[i..i+j]); + i += j + 1; + } + add_token(&s[i..]); + + max_sizes +} + +#[derive(Parser,Debug)] +#[command(author, version, about)] +struct Args { + n: usize, + k: usize, + // Only consider collisions up until this bound (inclusive) + // For collision_ub=4, combinations of zero, one, two, three, and four + // collisions are calculated + collision_ub: Option, + // Only consider collisions up to level_ub_l collisions for level l. + // For example, if level_ub_3 = 10 this means we only consider scenarios + // in which three hashes co-collide up to 10 times + level_ub: Option, +} + +fn main() { + let args = Args::parse(); + + if args.n == 0 || args.k == 0 { + return; + } + + if args.k >= args.n { + eprintln!("This computation is optimized for k < n."); + std::process::exit(1); + } + + let collision_ub = match args.collision_ub { + Some(ub) => { + if ub > args.k { + eprintln!("collision_ub={} hashes cannot collide if only k={} values are hashed", ub, args.k); + } + + ub + }, + None => args.k + }; + + let level_ub: Vec; + + if let Some(ub_spec) = args.level_ub { + level_ub = parse_max_level_collisions(&ub_spec[..]); + + if level_ub.len() != collision_ub { + eprintln!("Please specify {} bounds for each level", collision_ub); + std::process::exit(1); + } + + } else { + level_ub = vec![args.k; collision_ub + 1]; + } + + let probdist = generate_partitions(args.k, args.n, collision_ub, &level_ub[..]); + + for i in 0..probdist.len() { + println!("{},{}", i, probdist[i]); + } +} diff --git a/more_results/private_ips.md b/more_results/private_ips.md new file mode 100644 index 0000000..f3cd08e --- /dev/null +++ b/more_results/private_ips.md @@ -0,0 +1,216 @@ +Markdown Table for Test: uniform_hashing_cc1024 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.230767 | 17472 | 17469 | 17561 | 17782 | +| city32 | 0.558145 | 17472 | 17478 | 17562 | 17775 | +| xx64 | 0.031247 | 17472 | 17465 | 17566 | 17799 | +| xx32 | 0.994406 | 17472 | 17471 | 17549 | 17765 | +| spooky64 | 0.846546 | 17472 | 17475 | 17554 | 17773 | +| spooky32 | 0.846546 | 17472 | 17475 | 17554 | 17773 | +| murmur3 32 | 0.129905 | 17472 | 17471 | 17557 | 17808 | +| fnv1a64 | 1 | 17472 | 17473 | 17473 | 17474 | +| fnv1a32 | 1 | 17472 | 17472 | 17472 | 17477 | +| adler32 | 0 | 17472 | 8778 | 34828 | 52401 | +| djb2_32 | 1 | 17472 | 17478 | 17506 | 17550 | +| djb2_64 | 1 | 17472 | 17478 | 17506 | 17550 | + + +Markdown Table for Test: uniform_hashing_cc1031 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.95754 | 17353.4 | 17351 | 17439 | 17642 | +| city32 | 0.373201 | 17353.4 | 17354 | 17440 | 17667 | +| xx64 | 0.456405 | 17353.4 | 17354 | 17446 | 17654 | +| xx32 | 0.875385 | 17353.4 | 17355 | 17438 | 17667 | +| spooky64 | 0.580813 | 17353.4 | 17356 | 17443 | 17628 | +| spooky32 | 0.293832 | 17353.4 | 17355 | 17444 | 17655 | +| murmur3 32 | 0.980679 | 17353.4 | 17356 | 17434 | 17640 | +| fnv1a64 | 1 | 17353.4 | 17354 | 17362 | 17380 | +| fnv1a32 | 1 | 17353.4 | 17352 | 17393 | 17430 | +| adler32 | 1 | 17353.4 | 17355 | 17376 | 17391 | +| djb2_32 | 1 | 17353.4 | 17352 | 17367 | 17375 | +| djb2_64 | 1 | 17353.4 | 17352 | 17367 | 17375 | + + +Markdown Table for Test: uniform_hashing_cc1048576 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.145143 | 17.0625 | 17 | 20 | 27 | +| city32 | 0.108375 | 17.0625 | 17 | 20 | 27 | +| xx64 | 0.97483 | 17.0625 | 17 | 20 | 27 | +| xx32 | 0.987949 | 17.0625 | 17 | 20 | 27 | +| spooky64 | 0.852969 | 17.0625 | 17 | 20 | 27 | +| spooky32 | 0.852969 | 17.0625 | 17 | 20 | 27 | +| murmur3 32 | 0.967775 | 17.0625 | 17 | 20 | 27 | +| fnv1a64 | 1 | 17.0625 | 17 | 18 | 21 | +| fnv1a32 | 1 | 17.0625 | 17 | 18 | 21 | +| adler32 | 0 | 17.0625 | 0 | 0 | 104 | +| djb2_32 | 0 | 17.0625 | 0 | 54 | 64 | +| djb2_64 | 0 | 17.0625 | 0 | 54 | 64 | + + +Markdown Table for Test: uniform_hashing_cc1048583 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|-----------:|----------:|------:|------:|------:| +| city64 | 0.635537 | 17.0624 | 17 | 20 | 27 | +| city32 | 0.00348005 | 17.0624 | 17 | 20 | 27 | +| xx64 | 0.157894 | 17.0624 | 17 | 20 | 27 | +| xx32 | 0.994068 | 17.0624 | 17 | 20 | 27 | +| spooky64 | 0.344088 | 17.0624 | 17 | 20 | 27 | +| spooky32 | 0.258544 | 17.0624 | 17 | 20 | 27 | +| murmur3 32 | 0.999932 | 17.0624 | 17 | 20 | 27 | +| fnv1a64 | 1 | 17.0624 | 17 | 19 | 25 | +| fnv1a32 | 1 | 17.0624 | 17 | 19 | 25 | +| adler32 | 0 | 17.0624 | 0 | 0 | 0 | +| djb2_32 | 0 | 17.0624 | 0 | 54 | 64 | +| djb2_64 | 0 | 17.0624 | 0 | 54 | 64 | + + +Markdown Table for Test: uniform_hashing_cc25559040 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.857053 | 0.7 | 1 | 1 | 3 | +| city32 | 0.628311 | 0.7 | 1 | 1 | 3 | +| xx64 | 0.32052 | 0.7 | 1 | 1 | 3 | +| xx32 | 1 | 0.7 | 1 | 1 | 3 | +| spooky64 | 0.658844 | 0.7 | 1 | 1 | 3 | +| spooky32 | 0.677696 | 0.7 | 1 | 1 | 3 | +| murmur3 32 | 1 | 0.7 | 1 | 1 | 3 | +| fnv1a64 | 1 | 0.7 | 1 | 1 | 2 | +| fnv1a32 | 1 | 0.7 | 1 | 1 | 3 | +| adler32 | 0 | 0.7 | 0 | 0 | 0 | +| djb2_32 | 0 | 0.7 | 0 | 0 | 55 | +| djb2_64 | 0 | 0.7 | 0 | 0 | 55 | + + +Markdown Table for Test: uniform_hashing_cc25559057 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.727569 | 0.7 | 1 | 1 | 3 | +| city32 | 0.738734 | 0.7 | 1 | 1 | 3 | +| xx64 | 0.510211 | 0.7 | 1 | 1 | 3 | +| xx32 | 1 | 0.7 | 1 | 1 | 3 | +| spooky64 | 0.331874 | 0.7 | 1 | 1 | 3 | +| spooky32 | 0.823507 | 0.7 | 1 | 1 | 3 | +| murmur3 32 | 1 | 0.7 | 1 | 1 | 3 | +| fnv1a64 | 1 | 0.7 | 1 | 1 | 3 | +| fnv1a32 | 1 | 0.7 | 1 | 1 | 3 | +| adler32 | 0 | 0.7 | 0 | 0 | 0 | +| djb2_32 | 0 | 0.7 | 0 | 0 | 55 | +| djb2_64 | 0 | 0.7 | 0 | 0 | 55 | + + +Markdown Table for Test: uniform_hashing_cc3578265 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.378096 | 5 | 5 | 6 | 11 | +| city32 | 0.712853 | 5 | 5 | 6 | 11 | +| xx64 | 0.960154 | 5 | 5 | 6 | 11 | +| xx32 | 1 | 5 | 5 | 6 | 11 | +| spooky64 | 0.0731617 | 5 | 5 | 6 | 11 | +| spooky32 | 0.430761 | 5 | 5 | 6 | 11 | +| murmur3 32 | 0.999998 | 5 | 5 | 6 | 11 | +| fnv1a64 | 1 | 5 | 5 | 6 | 9 | +| fnv1a32 | 0 | 5 | 5 | 7 | 11 | +| adler32 | 0 | 5 | 0 | 0 | 161 | +| djb2_32 | 0 | 5 | 0 | 0 | 64 | +| djb2_64 | 0 | 5 | 0 | 0 | 64 | + + +Markdown Table for Test: uniform_hashing_cc3578273 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.690345 | 4.99999 | 5 | 6 | 11 | +| city32 | 0.832129 | 4.99999 | 5 | 6 | 11 | +| xx64 | 0.248531 | 4.99999 | 5 | 6 | 11 | +| xx32 | 1 | 4.99999 | 5 | 6 | 11 | +| spooky64 | 0.887816 | 4.99999 | 5 | 6 | 11 | +| spooky32 | 0.682764 | 4.99999 | 5 | 6 | 11 | +| murmur3 32 | 1 | 4.99999 | 5 | 6 | 11 | +| fnv1a64 | 1 | 4.99999 | 5 | 6 | 10 | +| fnv1a32 | 0 | 4.99999 | 4 | 7 | 14 | +| adler32 | 0 | 4.99999 | 0 | 0 | 216 | +| djb2_32 | 0 | 4.99999 | 0 | 0 | 64 | +| djb2_64 | 0 | 4.99999 | 0 | 0 | 64 | + + +Markdown Table for Test: uniform_hashing_cc65536 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.161976 | 273 | 273 | 284 | 313 | +| city32 | 0.550778 | 273 | 273 | 284 | 312 | +| xx64 | 0.150364 | 273 | 273 | 284 | 312 | +| xx32 | 0.962877 | 273 | 273 | 284 | 312 | +| spooky64 | 0.960136 | 273 | 273 | 284 | 312 | +| spooky32 | 0.960136 | 273 | 273 | 284 | 312 | +| murmur3 32 | 0.229322 | 273 | 273 | 284 | 312 | +| fnv1a64 | 1 | 273 | 273 | 278 | 284 | +| fnv1a32 | 1 | 273 | 273 | 275 | 280 | +| adler32 | 0 | 273 | 0 | 0 | 1653 | +| djb2_32 | 0 | 273 | 254 | 303 | 372 | +| djb2_64 | 0 | 273 | 254 | 303 | 372 | + + +Markdown Table for Test: uniform_hashing_cc65537 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.266184 | 272.996 | 273 | 284 | 312 | +| city32 | 0.242501 | 272.996 | 273 | 284 | 312 | +| xx64 | 0.825592 | 272.996 | 273 | 284 | 312 | +| xx32 | 0.685109 | 272.996 | 273 | 284 | 312 | +| spooky64 | 0.220356 | 272.996 | 273 | 284 | 312 | +| spooky32 | 0.860006 | 272.996 | 273 | 284 | 312 | +| murmur3 32 | 0.271432 | 272.996 | 273 | 284 | 312 | +| fnv1a64 | 1 | 272.996 | 273 | 279 | 292 | +| fnv1a32 | 1 | 272.996 | 273 | 278 | 290 | +| adler32 | 0 | 272.996 | 0 | 0 | 9216 | +| djb2_32 | 0 | 272.996 | 254 | 303 | 372 | +| djb2_64 | 0 | 272.996 | 254 | 303 | 372 | + + +Markdown Table for Test: uniform_hashing_cc894566 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.505677 | 20 | 20 | 23 | 31 | +| city32 | 0.0662779 | 20 | 20 | 23 | 31 | +| xx64 | 0.546583 | 20 | 20 | 23 | 31 | +| xx32 | 0.999814 | 20 | 20 | 23 | 31 | +| spooky64 | 0.380997 | 20 | 20 | 23 | 31 | +| spooky32 | 0.834555 | 20 | 20 | 23 | 31 | +| murmur3 32 | 0.999999 | 20 | 20 | 23 | 31 | +| fnv1a64 | 1 | 20 | 20 | 22 | 27 | +| fnv1a32 | 1 | 20 | 20 | 22 | 27 | +| adler32 | 0 | 20 | 0 | 0 | 199 | +| djb2_32 | 0 | 20 | 0 | 56 | 64 | +| djb2_64 | 0 | 20 | 0 | 56 | 64 | + + +Markdown Table for Test: uniform_hashing_cc894581 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.764774 | 19.9997 | 20 | 23 | 31 | +| city32 | 0.727845 | 19.9997 | 20 | 23 | 31 | +| xx64 | 0.509764 | 19.9997 | 20 | 23 | 31 | +| xx32 | 1 | 19.9997 | 20 | 23 | 31 | +| spooky64 | 0.953046 | 19.9997 | 20 | 23 | 31 | +| spooky32 | 0.589859 | 19.9997 | 20 | 23 | 31 | +| murmur3 32 | 0.999997 | 19.9997 | 20 | 23 | 31 | +| fnv1a64 | 1 | 19.9997 | 20 | 22 | 27 | +| fnv1a32 | 1 | 19.9997 | 20 | 22 | 27 | +| adler32 | 0 | 19.9997 | 0 | 12 | 128 | +| djb2_32 | 0 | 19.9997 | 0 | 56 | 64 | +| djb2_64 | 0 | 19.9997 | 0 | 56 | 64 | + + diff --git a/more_results/unique_kmers.md b/more_results/unique_kmers.md new file mode 100644 index 0000000..97979dc --- /dev/null +++ b/more_results/unique_kmers.md @@ -0,0 +1,216 @@ +Markdown Table for Test: uniform_hashing_cc10154571 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.92768 | 20 | 20 | 23 | 31 | +| city32 | 0.81495 | 20 | 20 | 23 | 31 | +| xx64 | 0.428362 | 20 | 20 | 23 | 31 | +| xx32 | 0.443643 | 20 | 20 | 23 | 31 | +| spooky64 | 0.710552 | 20 | 20 | 23 | 31 | +| spooky32 | 0.470957 | 20 | 20 | 23 | 31 | +| murmur3 32 | 0.87193 | 20 | 20 | 23 | 31 | +| fnv1a64 | 0.965098 | 20 | 20 | 23 | 31 | +| fnv1a32 | 0.0950747 | 20 | 20 | 23 | 31 | +| adler32 | 0 | 20 | 0 | 0 | 16 | +| djb2_32 | 1 | 20 | 20 | 23 | 31 | +| djb2_64 | 0 | 20 | 20 | 23 | 32 | + + +Markdown Table for Test: uniform_hashing_cc10154591 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.0832877 | 20 | 20 | 23 | 31 | +| city32 | 0.356531 | 20 | 20 | 23 | 31 | +| xx64 | 0.478113 | 20 | 20 | 23 | 31 | +| xx32 | 0.715534 | 20 | 20 | 23 | 31 | +| spooky64 | 0.62229 | 20 | 20 | 23 | 31 | +| spooky32 | 0.864127 | 20 | 20 | 23 | 31 | +| murmur3 32 | 0.768138 | 20 | 20 | 23 | 31 | +| fnv1a64 | 0.516048 | 20 | 20 | 23 | 31 | +| fnv1a32 | 0.466016 | 20 | 20 | 23 | 31 | +| adler32 | 0 | 20 | 0 | 0 | 16 | +| djb2_32 | 0 | 20 | 20 | 23 | 31 | +| djb2_64 | 1 | 20 | 20 | 23 | 31 | + + +Markdown Table for Test: uniform_hashing_cc1024 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|-------:|-------:|-----------------:| +| city64 | 0.618559 | 198331 | 198319 | 198622 | 199392 | +| city32 | 0.317945 | 198331 | 198337 | 198645 | 199297 | +| xx64 | 0.959837 | 198331 | 198316 | 198593 | 199285 | +| xx32 | 0.981496 | 198331 | 198342 | 198607 | 199367 | +| spooky64 | 0.385608 | 198331 | 198316 | 198623 | 199444 | +| spooky32 | 0.385608 | 198331 | 198316 | 198623 | 199444 | +| murmur3 32 | 0.899585 | 198331 | 198342 | 198629 | 199278 | +| fnv1a64 | 0 | 198331 | 198295 | 198826 | 200069 | +| fnv1a32 | 0 | 198331 | 198335 | 198845 | 200319 | +| adler32 | 0 | 198331 | 0 | 0 | 3.56064e+06 | +| djb2_32 | 0 | 198331 | 195174 | 268731 | 317468 | +| djb2_64 | 0 | 198331 | 195174 | 268731 | 317468 | + + +Markdown Table for Test: uniform_hashing_cc1031 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|-------:|-------:|-------:| +| city64 | 0.0332254 | 196985 | 196967 | 197311 | 198122 | +| city32 | 0.286917 | 196985 | 196968 | 197291 | 198012 | +| xx64 | 0.3964 | 196985 | 196983 | 197291 | 198023 | +| xx32 | 0.238287 | 196985 | 196981 | 197296 | 198046 | +| spooky64 | 0.507568 | 196985 | 196973 | 197291 | 198037 | +| spooky32 | 0.407503 | 196985 | 196977 | 197288 | 198029 | +| murmur3 32 | 0.655587 | 196985 | 196989 | 197311 | 198007 | +| fnv1a64 | 0.220912 | 196985 | 196987 | 197288 | 198050 | +| fnv1a32 | 0.899356 | 196985 | 196980 | 197277 | 197956 | +| adler32 | 0 | 196985 | 196947 | 198662 | 201562 | +| djb2_32 | 1 | 196985 | 196979 | 197210 | 197787 | +| djb2_64 | 0 | 196985 | 196957 | 197363 | 198265 | + + +Markdown Table for Test: uniform_hashing_cc1048576 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.418615 | 193.683 | 194 | 203 | 227 | +| city32 | 0.677713 | 193.683 | 194 | 203 | 227 | +| xx64 | 0.438462 | 193.683 | 194 | 203 | 227 | +| xx32 | 0.63458 | 193.683 | 194 | 203 | 227 | +| spooky64 | 0.110016 | 193.683 | 194 | 203 | 227 | +| spooky32 | 0.110016 | 193.683 | 194 | 203 | 227 | +| murmur3 32 | 0.470181 | 193.683 | 194 | 203 | 227 | +| fnv1a64 | 0.239946 | 193.683 | 194 | 203 | 227 | +| fnv1a32 | 0.382158 | 193.683 | 194 | 203 | 227 | +| adler32 | 0 | 193.683 | 0 | 0 | 0 | +| djb2_32 | 0 | 193.683 | 191 | 260 | 325 | +| djb2_64 | 0 | 193.683 | 191 | 260 | 325 | + + +Markdown Table for Test: uniform_hashing_cc1048583 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.107083 | 193.682 | 194 | 203 | 227 | +| city32 | 0.347326 | 193.682 | 194 | 203 | 227 | +| xx64 | 0.477662 | 193.682 | 194 | 203 | 227 | +| xx32 | 0.0579428 | 193.682 | 194 | 203 | 227 | +| spooky64 | 0.106589 | 193.682 | 194 | 203 | 227 | +| spooky32 | 0.960906 | 193.682 | 194 | 203 | 227 | +| murmur3 32 | 0.0550249 | 193.682 | 194 | 203 | 227 | +| fnv1a64 | 0.841848 | 193.682 | 194 | 203 | 227 | +| fnv1a32 | 0.1136 | 193.682 | 193 | 203 | 227 | +| adler32 | 0 | 193.682 | 0 | 0 | 6 | +| djb2_32 | 1 | 193.682 | 194 | 203 | 227 | +| djb2_64 | 4.48e-14 | 193.682 | 194 | 203 | 227 | + + +Markdown Table for Test: uniform_hashing_cc290130625 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|------------:|----------:|------:|------:|------:| +| city64 | 0.567872 | 0.7 | 1 | 1 | 3 | +| city32 | 8.5713e-09 | 0.7 | 1 | 1 | 3 | +| xx64 | 0.0503037 | 0.7 | 1 | 1 | 3 | +| xx32 | 0.000792609 | 0.7 | 1 | 1 | 3 | +| spooky64 | 0.0415268 | 0.7 | 1 | 1 | 3 | +| spooky32 | 1.90627e-06 | 0.7 | 1 | 1 | 3 | +| murmur3 32 | 1.57968e-07 | 0.7 | 1 | 1 | 3 | +| fnv1a64 | 0.833133 | 0.7 | 1 | 1 | 3 | +| fnv1a32 | 1.01819e-10 | 0.7 | 1 | 1 | 3 | +| adler32 | 0 | 0.7 | 0 | 0 | 0 | +| djb2_32 | 0.00151188 | 0.7 | 1 | 1 | 3 | +| djb2_64 | 0.0428499 | 0.7 | 1 | 1 | 3 | + + +Markdown Table for Test: uniform_hashing_cc290130647 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|------------:|----------:|------:|------:|------:| +| city64 | 0.926155 | 0.7 | 1 | 1 | 3 | +| city32 | 3.628e-13 | 0.7 | 1 | 1 | 3 | +| xx64 | 0.517712 | 0.7 | 1 | 1 | 3 | +| xx32 | 4.6282e-08 | 0.7 | 1 | 1 | 3 | +| spooky64 | 0.974397 | 0.7 | 1 | 1 | 3 | +| spooky32 | 2.47895e-10 | 0.7 | 1 | 1 | 3 | +| murmur3 32 | 2.57632e-05 | 0.7 | 1 | 1 | 3 | +| fnv1a64 | 0.456291 | 0.7 | 1 | 1 | 3 | +| fnv1a32 | 5.48456e-10 | 0.7 | 1 | 1 | 3 | +| adler32 | 0 | 0.7 | 0 | 0 | 0 | +| djb2_32 | 1 | 0.7 | 1 | 1 | 3 | +| djb2_64 | 9.95204e-10 | 0.7 | 1 | 1 | 3 | + + +Markdown Table for Test: uniform_hashing_cc40618287 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.191269 | 5 | 5 | 6 | 11 | +| city32 | 0.661944 | 5 | 5 | 6 | 11 | +| xx64 | 0.930678 | 5 | 5 | 6 | 11 | +| xx32 | 0.62422 | 5 | 5 | 6 | 11 | +| spooky64 | 0.738669 | 5 | 5 | 6 | 11 | +| spooky32 | 0.132022 | 5 | 5 | 6 | 11 | +| murmur3 32 | 0.129412 | 5 | 5 | 6 | 11 | +| fnv1a64 | 0.514203 | 5 | 5 | 6 | 11 | +| fnv1a32 | 0.757831 | 5 | 5 | 6 | 11 | +| adler32 | 0 | 5 | 0 | 0 | 0 | +| djb2_32 | 0 | 5 | 5 | 6 | 11 | +| djb2_64 | 0 | 5 | 5 | 7 | 12 | + + +Markdown Table for Test: uniform_hashing_cc40618309 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.235064 | 5 | 5 | 6 | 11 | +| city32 | 0.0328106 | 5 | 5 | 6 | 11 | +| xx64 | 0.0807737 | 5 | 5 | 6 | 11 | +| xx32 | 0.855038 | 5 | 5 | 6 | 11 | +| spooky64 | 0.0857559 | 5 | 5 | 6 | 11 | +| spooky32 | 0.297429 | 5 | 5 | 6 | 11 | +| murmur3 32 | 0.272447 | 5 | 5 | 6 | 11 | +| fnv1a64 | 0.684465 | 5 | 5 | 6 | 11 | +| fnv1a32 | 0.393569 | 5 | 5 | 6 | 11 | +| adler32 | 0 | 5 | 0 | 0 | 0 | +| djb2_32 | 1 | 5 | 5 | 6 | 11 | +| djb2_64 | 0 | 5 | 5 | 6 | 11 | + + +Markdown Table for Test: uniform_hashing_cc65536 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.808561 | 3098.93 | 3099 | 3136 | 3229 | +| city32 | 0.238145 | 3098.93 | 3099 | 3136 | 3229 | +| xx64 | 0.0837374 | 3098.93 | 3099 | 3137 | 3230 | +| xx32 | 0.388023 | 3098.93 | 3099 | 3137 | 3229 | +| spooky64 | 0.0890488 | 3098.93 | 3099 | 3136 | 3230 | +| spooky32 | 0.0890488 | 3098.93 | 3099 | 3136 | 3230 | +| murmur3 32 | 0.754288 | 3098.93 | 3099 | 3136 | 3230 | +| fnv1a64 | 1 | 3098.93 | 3099 | 3136 | 3227 | +| fnv1a32 | 0.99998 | 3098.93 | 3099 | 3136 | 3228 | +| adler32 | 0 | 3098.93 | 0 | 0 | 0 | +| djb2_32 | 0 | 3098.93 | 3054 | 4210 | 4975 | +| djb2_64 | 0 | 3098.93 | 3054 | 4210 | 4975 | + + +Markdown Table for Test: uniform_hashing_cc65537 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|-------:| +| city64 | 0.84711 | 3098.88 | 3099 | 3136 | 3229 | +| city32 | 0.765502 | 3098.88 | 3099 | 3136 | 3227 | +| xx64 | 0.995706 | 3098.88 | 3099 | 3136 | 3228 | +| xx32 | 0.898945 | 3098.88 | 3099 | 3136 | 3229 | +| spooky64 | 0.899433 | 3098.88 | 3099 | 3137 | 3228 | +| spooky32 | 0.26549 | 3098.88 | 3098 | 3136 | 3229 | +| murmur3 32 | 0.47607 | 3098.88 | 3099 | 3136 | 3228 | +| fnv1a64 | 0.999163 | 3098.88 | 3099 | 3136 | 3229 | +| fnv1a32 | 0.160831 | 3098.88 | 3099 | 3137 | 3229 | +| adler32 | 0 | 3098.88 | 0 | 0 | 142116 | +| djb2_32 | 0 | 3098.88 | 3098 | 3173 | 3304 | +| djb2_64 | 0 | 3098.88 | 3099 | 3138 | 3234 | + + diff --git a/more_results/word_lists.md b/more_results/word_lists.md new file mode 100644 index 0000000..6029944 --- /dev/null +++ b/more_results/word_lists.md @@ -0,0 +1,653 @@ +# GERMAN: + +Markdown Table for Test: uniform_hashing_cc1024 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.041558 | 297.594 | 298 | 309 | 341 | +| city32 | 0.558001 | 297.594 | 298 | 310 | 338 | +| xx64 | 0.0619553 | 297.594 | 298 | 309 | 342 | +| xx32 | 0.146449 | 297.594 | 297 | 310 | 340 | +| spooky64 | 0.978192 | 297.594 | 297 | 309 | 337 | +| spooky32 | 0.978192 | 297.594 | 297 | 309 | 337 | +| murmur3 32 | 0.288355 | 297.594 | 298 | 309 | 335 | +| fnv1a64 | 0.073901 | 297.594 | 298 | 309 | 340 | +| fnv1a32 | 0.19892 | 297.594 | 297 | 310 | 340 | +| adler32 | 0 | 297.594 | 271 | 357 | 548 | +| djb2_32 | 0.499734 | 297.594 | 298 | 309 | 336 | +| djb2_64 | 0.499734 | 297.594 | 298 | 309 | 336 | + + +Markdown Table for Test: uniform_hashing_cc1031 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.394728 | 295.573 | 295 | 307 | 336 | +| city32 | 0.658379 | 295.573 | 295 | 306 | 337 | +| xx64 | 0.349555 | 295.573 | 295 | 307 | 335 | +| xx32 | 0.809289 | 295.573 | 295 | 307 | 335 | +| spooky64 | 0.944751 | 295.573 | 295 | 307 | 333 | +| spooky32 | 0.0605966 | 295.573 | 296 | 307 | 339 | +| murmur3 32 | 0.421352 | 295.573 | 295 | 307 | 339 | +| fnv1a64 | 0.224086 | 295.573 | 296 | 307 | 337 | +| fnv1a32 | 0.84226 | 295.573 | 295 | 306 | 336 | +| adler32 | 0.784829 | 295.573 | 295 | 307 | 337 | +| djb2_32 | 0.992628 | 295.573 | 296 | 306 | 332 | +| djb2_64 | 0.487786 | 295.573 | 296 | 308 | 334 | + + +Markdown Table for Test: uniform_hashing_cc1048576 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|-----------:|----------:|------:|------:|------:| +| city64 | 0.385564 | 0.290619 | 0 | 1 | 2 | +| city32 | 0.242151 | 0.290619 | 0 | 1 | 2 | +| xx64 | 0.995672 | 0.290619 | 0 | 1 | 2 | +| xx32 | 0.234796 | 0.290619 | 0 | 1 | 2 | +| spooky64 | 0.47495 | 0.290619 | 0 | 1 | 2 | +| spooky32 | 0.47495 | 0.290619 | 0 | 1 | 2 | +| murmur3 32 | 0.728204 | 0.290619 | 0 | 1 | 2 | +| fnv1a64 | 0.00273877 | 0.290619 | 0 | 1 | 2 | +| fnv1a32 | 0.752845 | 0.290619 | 0 | 1 | 2 | +| adler32 | 0 | 0.290619 | 0 | 0 | 11 | +| djb2_32 | 0.578694 | 0.290619 | 0 | 1 | 2 | +| djb2_64 | 0.578694 | 0.290619 | 0 | 1 | 2 | + + +Markdown Table for Test: uniform_hashing_cc1048583 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.34051 | 0.290617 | 0 | 1 | 2 | +| city32 | 0.867548 | 0.290617 | 0 | 1 | 2 | +| xx64 | 0.921409 | 0.290617 | 0 | 1 | 2 | +| xx32 | 0.444225 | 0.290617 | 0 | 1 | 2 | +| spooky64 | 0.149649 | 0.290617 | 0 | 1 | 2 | +| spooky32 | 0.791163 | 0.290617 | 0 | 1 | 2 | +| murmur3 32 | 0.470608 | 0.290617 | 0 | 1 | 2 | +| fnv1a64 | 0.0921704 | 0.290617 | 0 | 1 | 2 | +| fnv1a32 | 0.96332 | 0.290617 | 0 | 1 | 2 | +| adler32 | 0 | 0.290617 | 0 | 0 | 7 | +| djb2_32 | 0.0875519 | 0.290617 | 0 | 1 | 2 | +| djb2_64 | 0.0166127 | 0.290617 | 0 | 1 | 2 | + + +Markdown Table for Test: uniform_hashing_cc15236 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|-----------:|----------:|------:|------:|------:| +| city64 | 0.420456 | 20.0011 | 20 | 23 | 31 | +| city32 | 0.165579 | 20.0011 | 20 | 23 | 31 | +| xx64 | 0.291638 | 20.0011 | 20 | 23 | 31 | +| xx32 | 0.622994 | 20.0011 | 20 | 23 | 31 | +| spooky64 | 0.0946716 | 20.0011 | 20 | 23 | 31 | +| spooky32 | 0.510134 | 20.0011 | 20 | 23 | 31 | +| murmur3 32 | 0.623648 | 20.0011 | 20 | 23 | 31 | +| fnv1a64 | 0.654609 | 20.0011 | 20 | 23 | 31 | +| fnv1a32 | 0.867607 | 20.0011 | 20 | 23 | 31 | +| adler32 | 8.1166e-12 | 20.0011 | 20 | 23 | 32 | +| djb2_32 | 0.0366084 | 20.0011 | 20 | 23 | 31 | +| djb2_64 | 0.703943 | 20.0011 | 20 | 23 | 31 | + + +Markdown Table for Test: uniform_hashing_cc15241 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.748606 | 19.9945 | 20 | 23 | 31 | +| city32 | 0.820535 | 19.9945 | 20 | 23 | 31 | +| xx64 | 0.255614 | 19.9945 | 20 | 23 | 31 | +| xx32 | 0.990785 | 19.9945 | 20 | 23 | 31 | +| spooky64 | 0.173036 | 19.9945 | 20 | 23 | 31 | +| spooky32 | 0.975584 | 19.9945 | 20 | 23 | 31 | +| murmur3 32 | 0.690768 | 19.9945 | 20 | 23 | 31 | +| fnv1a64 | 0.115464 | 19.9945 | 20 | 23 | 31 | +| fnv1a32 | 0.731618 | 19.9945 | 20 | 23 | 31 | +| adler32 | 0 | 19.9945 | 19 | 27 | 46 | +| djb2_32 | 0.636943 | 19.9945 | 20 | 23 | 31 | +| djb2_64 | 0.242599 | 19.9945 | 20 | 23 | 31 | + + +Markdown Table for Test: uniform_hashing_cc435337 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.433201 | 0.7 | 1 | 1 | 3 | +| city32 | 0.81538 | 0.7 | 1 | 1 | 3 | +| xx64 | 0.46347 | 0.7 | 1 | 1 | 3 | +| xx32 | 0.737051 | 0.7 | 1 | 1 | 3 | +| spooky64 | 0.0797217 | 0.7 | 1 | 1 | 3 | +| spooky32 | 0.390342 | 0.7 | 1 | 1 | 3 | +| murmur3 32 | 0.696641 | 0.7 | 1 | 1 | 3 | +| fnv1a64 | 0.0207139 | 0.7 | 1 | 1 | 3 | +| fnv1a32 | 0.648008 | 0.7 | 1 | 1 | 3 | +| adler32 | 0 | 0.7 | 0 | 1 | 4 | +| djb2_32 | 0.110557 | 0.7 | 1 | 1 | 3 | +| djb2_64 | 0.0788193 | 0.7 | 1 | 1 | 3 | + + +Markdown Table for Test: uniform_hashing_cc435343 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.267782 | 0.699991 | 1 | 1 | 3 | +| city32 | 0.247058 | 0.699991 | 1 | 1 | 3 | +| xx64 | 0.247058 | 0.699991 | 1 | 1 | 3 | +| xx32 | 0.190387 | 0.699991 | 1 | 1 | 3 | +| spooky64 | 0.910564 | 0.699991 | 1 | 1 | 3 | +| spooky32 | 0.942652 | 0.699991 | 1 | 1 | 3 | +| murmur3 32 | 0.114368 | 0.699991 | 1 | 1 | 3 | +| fnv1a64 | 0.596277 | 0.699991 | 1 | 1 | 3 | +| fnv1a32 | 0.0309772 | 0.699991 | 1 | 1 | 3 | +| adler32 | 0 | 0.699991 | 0 | 1 | 4 | +| djb2_32 | 0.156004 | 0.699991 | 1 | 1 | 3 | +| djb2_64 | 0.376937 | 0.699991 | 1 | 1 | 3 | + + +Markdown Table for Test: uniform_hashing_cc60947 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.0931069 | 5.00002 | 5 | 6 | 11 | +| city32 | 0.503809 | 5.00002 | 5 | 6 | 11 | +| xx64 | 0.855692 | 5.00002 | 5 | 6 | 11 | +| xx32 | 0.486444 | 5.00002 | 5 | 6 | 11 | +| spooky64 | 0.528014 | 5.00002 | 5 | 6 | 11 | +| spooky32 | 0.237041 | 5.00002 | 5 | 6 | 11 | +| murmur3 32 | 0.256877 | 5.00002 | 5 | 6 | 11 | +| fnv1a64 | 0.0530683 | 5.00002 | 5 | 6 | 11 | +| fnv1a32 | 0.200032 | 5.00002 | 5 | 6 | 11 | +| adler32 | 0 | 5.00002 | 5 | 7 | 12 | +| djb2_32 | 0.824424 | 5.00002 | 5 | 6 | 11 | +| djb2_64 | 0.996742 | 5.00002 | 5 | 6 | 11 | + + +Markdown Table for Test: uniform_hashing_cc60953 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.242358 | 4.99952 | 5 | 6 | 11 | +| city32 | 0.296624 | 4.99952 | 5 | 6 | 11 | +| xx64 | 0.688777 | 4.99952 | 5 | 6 | 11 | +| xx32 | 0.208769 | 4.99952 | 5 | 6 | 11 | +| spooky64 | 0.76734 | 4.99952 | 5 | 6 | 11 | +| spooky32 | 0.244506 | 4.99952 | 5 | 6 | 11 | +| murmur3 32 | 0.725851 | 4.99952 | 5 | 6 | 11 | +| fnv1a64 | 0.218747 | 4.99952 | 5 | 6 | 11 | +| fnv1a32 | 0.70164 | 4.99952 | 5 | 6 | 11 | +| adler32 | 0 | 4.99952 | 5 | 7 | 12 | +| djb2_32 | 0.408676 | 4.99952 | 5 | 6 | 11 | +| djb2_64 | 0.873225 | 4.99952 | 5 | 6 | 11 | + + +Markdown Table for Test: uniform_hashing_cc65536 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.933094 | 4.6499 | 4 | 6 | 10 | +| city32 | 0.191151 | 4.6499 | 4 | 6 | 10 | +| xx64 | 0.733225 | 4.6499 | 4 | 6 | 10 | +| xx32 | 0.14227 | 4.6499 | 4 | 6 | 10 | +| spooky64 | 0.504951 | 4.6499 | 4 | 6 | 10 | +| spooky32 | 0.504951 | 4.6499 | 4 | 6 | 10 | +| murmur3 32 | 0.521058 | 4.6499 | 4 | 6 | 10 | +| fnv1a64 | 0.171198 | 4.6499 | 4 | 6 | 10 | +| fnv1a32 | 0.66977 | 4.6499 | 4 | 6 | 10 | +| adler32 | 0 | 4.6499 | 0 | 0 | 181 | +| djb2_32 | 0.29764 | 4.6499 | 4 | 6 | 10 | +| djb2_64 | 0.29764 | 4.6499 | 4 | 6 | 10 | + + +Markdown Table for Test: uniform_hashing_cc65537 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.611665 | 4.64983 | 4 | 6 | 10 | +| city32 | 0.584069 | 4.64983 | 4 | 6 | 10 | +| xx64 | 0.618484 | 4.64983 | 4 | 6 | 10 | +| xx32 | 0.139147 | 4.64983 | 4 | 6 | 10 | +| spooky64 | 0.235203 | 4.64983 | 4 | 6 | 10 | +| spooky32 | 0.973042 | 4.64983 | 4 | 6 | 10 | +| murmur3 32 | 0.985551 | 4.64983 | 4 | 6 | 10 | +| fnv1a64 | 0.0545812 | 4.64983 | 4 | 6 | 10 | +| fnv1a32 | 0.839165 | 4.64983 | 4 | 6 | 10 | +| adler32 | 0 | 4.64983 | 0 | 3 | 53 | +| djb2_32 | 0.0877072 | 4.64983 | 4 | 6 | 10 | +| djb2_64 | 0.807369 | 4.64983 | 4 | 6 | 10 | + +# FRENCH: + + +Markdown Table for Test: uniform_hashing_cc1024 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.550163 | 216.188 | 216 | 226 | 250 | +| city32 | 0.285732 | 216.188 | 216 | 226 | 251 | +| xx64 | 0.807002 | 216.188 | 216 | 226 | 250 | +| xx32 | 0.305058 | 216.188 | 216 | 226 | 252 | +| spooky64 | 0.888406 | 216.188 | 216 | 226 | 249 | +| spooky32 | 0.888406 | 216.188 | 216 | 226 | 249 | +| murmur3 32 | 0.630937 | 216.188 | 216 | 225 | 252 | +| fnv1a64 | 0.985093 | 216.188 | 215 | 225 | 249 | +| fnv1a32 | 0.998118 | 216.188 | 216 | 226 | 249 | +| adler32 | 0 | 216.188 | 210 | 284 | 392 | +| djb2_32 | 0.718091 | 216.188 | 216 | 226 | 251 | +| djb2_64 | 0.718091 | 216.188 | 216 | 226 | 251 | + + +Markdown Table for Test: uniform_hashing_cc1031 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|-----------:|----------:|------:|------:|------:| +| city64 | 0.805079 | 214.721 | 215 | 224 | 247 | +| city32 | 0.006272 | 214.721 | 215 | 225 | 252 | +| xx64 | 0.542885 | 214.721 | 215 | 224 | 247 | +| xx32 | 0.16067 | 214.721 | 214 | 226 | 249 | +| spooky64 | 0.894639 | 214.721 | 215 | 224 | 248 | +| spooky32 | 0.00910567 | 214.721 | 214 | 224 | 255 | +| murmur3 32 | 0.339932 | 214.721 | 214 | 224 | 250 | +| fnv1a64 | 0.441032 | 214.721 | 214 | 225 | 251 | +| fnv1a32 | 0.34276 | 214.721 | 214 | 225 | 249 | +| adler32 | 0.429931 | 214.721 | 214 | 225 | 249 | +| djb2_32 | 0.653496 | 214.721 | 214 | 224 | 252 | +| djb2_64 | 0.450892 | 214.721 | 215 | 224 | 251 | + + +Markdown Table for Test: uniform_hashing_cc1048576 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.383135 | 0.211122 | 0 | 0 | 2 | +| city32 | 0.403253 | 0.211122 | 0 | 0 | 2 | +| xx64 | 0.918924 | 0.211122 | 0 | 0 | 2 | +| xx32 | 0.355992 | 0.211122 | 0 | 0 | 2 | +| spooky64 | 0.691776 | 0.211122 | 0 | 0 | 2 | +| spooky32 | 0.691776 | 0.211122 | 0 | 0 | 2 | +| murmur3 32 | 0.459758 | 0.211122 | 0 | 0 | 2 | +| fnv1a64 | 0.926509 | 0.211122 | 0 | 0 | 2 | +| fnv1a32 | 0.914917 | 0.211122 | 0 | 0 | 2 | +| adler32 | 0 | 0.211122 | 0 | 0 | 9 | +| djb2_32 | 0.207886 | 0.211122 | 0 | 0 | 2 | +| djb2_64 | 0.207886 | 0.211122 | 0 | 0 | 2 | + + +Markdown Table for Test: uniform_hashing_cc1048583 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|-----------:|----------:|------:|------:|------:| +| city64 | 0.00212581 | 0.21112 | 0 | 0 | 2 | +| city32 | 0.851575 | 0.21112 | 0 | 0 | 2 | +| xx64 | 0.803264 | 0.21112 | 0 | 0 | 2 | +| xx32 | 0.532318 | 0.21112 | 0 | 0 | 2 | +| spooky64 | 0.61427 | 0.21112 | 0 | 0 | 2 | +| spooky32 | 0.395282 | 0.21112 | 0 | 0 | 2 | +| murmur3 32 | 0.0970737 | 0.21112 | 0 | 0 | 2 | +| fnv1a64 | 0.668011 | 0.21112 | 0 | 0 | 2 | +| fnv1a32 | 0.0373909 | 0.21112 | 0 | 0 | 2 | +| adler32 | 0 | 0.21112 | 0 | 0 | 6 | +| djb2_32 | 0.969158 | 0.21112 | 0 | 0 | 2 | +| djb2_64 | 0.0274959 | 0.21112 | 0 | 0 | 2 | + + +Markdown Table for Test: uniform_hashing_cc11068 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|-----------:|----------:|------:|------:|------:| +| city64 | 0.186158 | 20.0015 | 20 | 23 | 32 | +| city32 | 0.257467 | 20.0015 | 20 | 23 | 31 | +| xx64 | 0.224814 | 20.0015 | 20 | 23 | 31 | +| xx32 | 0.557047 | 20.0015 | 20 | 23 | 31 | +| spooky64 | 0.794821 | 20.0015 | 20 | 23 | 31 | +| spooky32 | 0.83405 | 20.0015 | 20 | 23 | 31 | +| murmur3 32 | 0.00611424 | 20.0015 | 20 | 23 | 31 | +| fnv1a64 | 0.633899 | 20.0015 | 20 | 23 | 31 | +| fnv1a32 | 0.02508 | 20.0015 | 20 | 23 | 31 | +| adler32 | 0 | 20.0015 | 20 | 23 | 33 | +| djb2_32 | 0.848171 | 20.0015 | 20 | 23 | 31 | +| djb2_64 | 0.976627 | 20.0015 | 20 | 23 | 31 | + + +Markdown Table for Test: uniform_hashing_cc11069 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.197799 | 19.9997 | 20 | 23 | 31 | +| city32 | 0.865495 | 19.9997 | 20 | 23 | 31 | +| xx64 | 0.321344 | 19.9997 | 20 | 23 | 31 | +| xx32 | 0.967086 | 19.9997 | 20 | 23 | 31 | +| spooky64 | 0.819659 | 19.9997 | 20 | 23 | 31 | +| spooky32 | 0.249329 | 19.9997 | 20 | 23 | 31 | +| murmur3 32 | 0.410576 | 19.9997 | 20 | 23 | 31 | +| fnv1a64 | 0.329056 | 19.9997 | 20 | 23 | 31 | +| fnv1a32 | 0.781696 | 19.9997 | 20 | 23 | 31 | +| adler32 | 0 | 19.9997 | 20 | 24 | 34 | +| djb2_32 | 0.056648 | 19.9997 | 20 | 23 | 31 | +| djb2_64 | 0.0991769 | 19.9997 | 20 | 23 | 31 | + + +Markdown Table for Test: uniform_hashing_cc316252 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.240331 | 0.700002 | 1 | 1 | 3 | +| city32 | 0.0357533 | 0.700002 | 1 | 1 | 3 | +| xx64 | 0.0586968 | 0.700002 | 1 | 1 | 3 | +| xx32 | 0.0795463 | 0.700002 | 1 | 1 | 3 | +| spooky64 | 0.506559 | 0.700002 | 1 | 1 | 3 | +| spooky32 | 0.633021 | 0.700002 | 1 | 1 | 3 | +| murmur3 32 | 0.676703 | 0.700002 | 1 | 1 | 3 | +| fnv1a64 | 0.92868 | 0.700002 | 1 | 1 | 3 | +| fnv1a32 | 0.302013 | 0.700002 | 1 | 1 | 3 | +| adler32 | 0 | 0.700002 | 0 | 1 | 4 | +| djb2_32 | 0.879881 | 0.700002 | 1 | 1 | 3 | +| djb2_64 | 0.616665 | 0.700002 | 1 | 1 | 3 | + + +Markdown Table for Test: uniform_hashing_cc316259 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.914632 | 0.699986 | 1 | 1 | 3 | +| city32 | 0.508401 | 0.699986 | 1 | 1 | 3 | +| xx64 | 0.615685 | 0.699986 | 1 | 1 | 3 | +| xx32 | 0.482609 | 0.699986 | 1 | 1 | 3 | +| spooky64 | 0.119459 | 0.699986 | 1 | 1 | 3 | +| spooky32 | 0.238418 | 0.699986 | 1 | 1 | 3 | +| murmur3 32 | 0.938549 | 0.699986 | 1 | 1 | 3 | +| fnv1a64 | 0.407505 | 0.699986 | 1 | 1 | 3 | +| fnv1a32 | 0.817404 | 0.699986 | 1 | 1 | 3 | +| adler32 | 0 | 0.699986 | 0 | 1 | 4 | +| djb2_32 | 0.951339 | 0.699986 | 1 | 1 | 3 | +| djb2_64 | 0.622532 | 0.699986 | 1 | 1 | 3 | + + +Markdown Table for Test: uniform_hashing_cc44275 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.646968 | 5.00005 | 5 | 6 | 11 | +| city32 | 0.716956 | 5.00005 | 5 | 6 | 11 | +| xx64 | 0.621656 | 5.00005 | 5 | 6 | 11 | +| xx32 | 0.0809766 | 5.00005 | 5 | 6 | 11 | +| spooky64 | 0.968113 | 5.00005 | 5 | 6 | 11 | +| spooky32 | 0.407234 | 5.00005 | 5 | 6 | 11 | +| murmur3 32 | 0.397881 | 5.00005 | 5 | 6 | 11 | +| fnv1a64 | 0.937163 | 5.00005 | 5 | 6 | 11 | +| fnv1a32 | 0.327051 | 5.00005 | 5 | 6 | 11 | +| adler32 | 0 | 5.00005 | 5 | 7 | 14 | +| djb2_32 | 0.022312 | 5.00005 | 5 | 6 | 11 | +| djb2_64 | 0 | 5.00005 | 3 | 7 | 25 | + + +Markdown Table for Test: uniform_hashing_cc44279 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.255933 | 4.99959 | 5 | 6 | 11 | +| city32 | 0.464304 | 4.99959 | 5 | 6 | 11 | +| xx64 | 0.936332 | 4.99959 | 5 | 6 | 11 | +| xx32 | 0.917436 | 4.99959 | 5 | 6 | 11 | +| spooky64 | 0.943586 | 4.99959 | 5 | 6 | 11 | +| spooky32 | 0.020863 | 4.99959 | 5 | 6 | 11 | +| murmur3 32 | 0.504471 | 4.99959 | 5 | 6 | 11 | +| fnv1a64 | 0.758638 | 4.99959 | 5 | 6 | 11 | +| fnv1a32 | 0.337275 | 4.99959 | 5 | 6 | 11 | +| adler32 | 0 | 4.99959 | 5 | 7 | 13 | +| djb2_32 | 0.78235 | 4.99959 | 5 | 6 | 11 | +| djb2_64 | 0.95919 | 4.99959 | 5 | 6 | 11 | + + +Markdown Table for Test: uniform_hashing_cc65536 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.382952 | 3.37794 | 3 | 5 | 8 | +| city32 | 0.0719184 | 3.37794 | 3 | 5 | 8 | +| xx64 | 0.724856 | 3.37794 | 3 | 5 | 8 | +| xx32 | 0.474474 | 3.37794 | 3 | 5 | 8 | +| spooky64 | 0.652061 | 3.37794 | 3 | 5 | 8 | +| spooky32 | 0.652061 | 3.37794 | 3 | 5 | 8 | +| murmur3 32 | 0.76984 | 3.37794 | 3 | 5 | 8 | +| fnv1a64 | 0.980846 | 3.37794 | 3 | 5 | 8 | +| fnv1a32 | 0.691112 | 3.37794 | 3 | 5 | 8 | +| adler32 | 0 | 3.37794 | 0 | 0 | 149 | +| djb2_32 | 0.218884 | 3.37794 | 3 | 5 | 8 | +| djb2_64 | 0.218884 | 3.37794 | 3 | 5 | 8 | + + +Markdown Table for Test: uniform_hashing_cc65537 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.622152 | 3.37789 | 3 | 5 | 8 | +| city32 | 0.258935 | 3.37789 | 3 | 5 | 8 | +| xx64 | 0.507267 | 3.37789 | 3 | 5 | 8 | +| xx32 | 0.233247 | 3.37789 | 3 | 5 | 8 | +| spooky64 | 0.054684 | 3.37789 | 3 | 5 | 8 | +| spooky32 | 0.760929 | 3.37789 | 3 | 5 | 8 | +| murmur3 32 | 0.377535 | 3.37789 | 3 | 5 | 8 | +| fnv1a64 | 0.0843206 | 3.37789 | 3 | 5 | 8 | +| fnv1a32 | 0.0470464 | 3.37789 | 3 | 5 | 8 | +| adler32 | 0 | 3.37789 | 0 | 1 | 50 | +| djb2_32 | 0.225337 | 3.37789 | 3 | 5 | 8 | +| djb2_64 | 0.867138 | 3.37789 | 3 | 5 | 8 | + +# AMERICAN + +Markdown Table for Test: uniform_hashing_cc1024 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.736963 | 121.079 | 121 | 128 | 146 | +| city32 | 0.98427 | 121.079 | 121 | 128 | 145 | +| xx64 | 0.0866426 | 121.079 | 121 | 128 | 148 | +| xx32 | 0.177389 | 121.079 | 121 | 128 | 148 | +| spooky64 | 0.747902 | 121.079 | 121 | 128 | 149 | +| spooky32 | 0.747902 | 121.079 | 121 | 128 | 149 | +| murmur3 32 | 0.436342 | 121.079 | 121 | 128 | 149 | +| fnv1a64 | 0.219386 | 121.079 | 121 | 128 | 148 | +| fnv1a32 | 0.049487 | 121.079 | 121 | 129 | 148 | +| adler32 | 0 | 121.079 | 97 | 151 | 313 | +| djb2_32 | 0.673467 | 121.079 | 121 | 128 | 146 | +| djb2_64 | 0.673467 | 121.079 | 121 | 128 | 146 | + + +Markdown Table for Test: uniform_hashing_cc1031 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.629573 | 120.257 | 120 | 128 | 146 | +| city32 | 0.134385 | 120.257 | 120 | 128 | 147 | +| xx64 | 0.513289 | 120.257 | 120 | 127 | 148 | +| xx32 | 0.519872 | 120.257 | 121 | 128 | 146 | +| spooky64 | 0.742699 | 120.257 | 120 | 128 | 144 | +| spooky32 | 0.85038 | 120.257 | 120 | 127 | 145 | +| murmur3 32 | 0.815637 | 120.257 | 120 | 128 | 144 | +| fnv1a64 | 0.117736 | 120.257 | 120 | 128 | 147 | +| fnv1a32 | 0.376817 | 120.257 | 120 | 127 | 147 | +| adler32 | 0.482008 | 120.257 | 121 | 128 | 147 | +| djb2_32 | 0.30119 | 120.257 | 120 | 128 | 146 | +| djb2_64 | 0.14504 | 120.257 | 120 | 128 | 147 | + + +Markdown Table for Test: uniform_hashing_cc1048576 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.716405 | 0.118241 | 0 | 0 | 1 | +| city32 | 0.0317389 | 0.118241 | 0 | 0 | 1 | +| xx64 | 0.287473 | 0.118241 | 0 | 0 | 1 | +| xx32 | 0.30769 | 0.118241 | 0 | 0 | 1 | +| spooky64 | 0.169125 | 0.118241 | 0 | 0 | 1 | +| spooky32 | 0.169125 | 0.118241 | 0 | 0 | 1 | +| murmur3 32 | 0.241695 | 0.118241 | 0 | 0 | 1 | +| fnv1a64 | 0.720349 | 0.118241 | 0 | 0 | 1 | +| fnv1a32 | 0.662861 | 0.118241 | 0 | 0 | 1 | +| adler32 | 0 | 0.118241 | 0 | 0 | 4 | +| djb2_32 | 0.200196 | 0.118241 | 0 | 0 | 1 | +| djb2_64 | 0.200196 | 0.118241 | 0 | 0 | 1 | + + +Markdown Table for Test: uniform_hashing_cc1048583 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.601079 | 0.118241 | 0 | 0 | 1 | +| city32 | 0.26772 | 0.118241 | 0 | 0 | 1 | +| xx64 | 0.230728 | 0.118241 | 0 | 0 | 1 | +| xx32 | 0.887733 | 0.118241 | 0 | 0 | 1 | +| spooky64 | 0.532244 | 0.118241 | 0 | 0 | 1 | +| spooky32 | 0.319907 | 0.118241 | 0 | 0 | 1 | +| murmur3 32 | 0.858645 | 0.118241 | 0 | 0 | 1 | +| fnv1a64 | 0.914122 | 0.118241 | 0 | 0 | 1 | +| fnv1a32 | 0.645416 | 0.118241 | 0 | 0 | 1 | +| adler32 | 0 | 0.118241 | 0 | 0 | 4 | +| djb2_32 | 0.420976 | 0.118241 | 0 | 0 | 1 | +| djb2_64 | 0.671147 | 0.118241 | 0 | 0 | 1 | + + +Markdown Table for Test: uniform_hashing_cc177121 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.757385 | 0.700002 | 1 | 1 | 3 | +| city32 | 0.664197 | 0.700002 | 1 | 1 | 3 | +| xx64 | 0.383529 | 0.700002 | 1 | 1 | 3 | +| xx32 | 0.0398676 | 0.700002 | 1 | 1 | 3 | +| spooky64 | 0.0663541 | 0.700002 | 1 | 1 | 3 | +| spooky32 | 0.206443 | 0.700002 | 1 | 1 | 3 | +| murmur3 32 | 0.701829 | 0.700002 | 1 | 1 | 3 | +| fnv1a64 | 0.0432672 | 0.700002 | 1 | 1 | 3 | +| fnv1a32 | 0.510095 | 0.700002 | 1 | 1 | 3 | +| adler32 | 0 | 0.700002 | 0 | 1 | 5 | +| djb2_32 | 0.424391 | 0.700002 | 1 | 1 | 3 | +| djb2_64 | 0.99198 | 0.700002 | 1 | 1 | 3 | + + +Markdown Table for Test: uniform_hashing_cc177127 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.0120259 | 0.699978 | 1 | 1 | 3 | +| city32 | 0.61301 | 0.699978 | 1 | 1 | 3 | +| xx64 | 0.36992 | 0.699978 | 1 | 1 | 3 | +| xx32 | 0.689268 | 0.699978 | 1 | 1 | 3 | +| spooky64 | 0.826634 | 0.699978 | 1 | 1 | 3 | +| spooky32 | 0.201728 | 0.699978 | 1 | 1 | 3 | +| murmur3 32 | 0.241564 | 0.699978 | 1 | 1 | 3 | +| fnv1a64 | 0.518766 | 0.699978 | 1 | 1 | 3 | +| fnv1a32 | 0.269278 | 0.699978 | 1 | 1 | 3 | +| adler32 | 0 | 0.699978 | 0 | 1 | 4 | +| djb2_32 | 0.995999 | 0.699978 | 1 | 1 | 3 | +| djb2_64 | 0.87148 | 0.699978 | 1 | 1 | 3 | + + +Markdown Table for Test: uniform_hashing_cc24797 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|-----------:|----------:|------:|------:|------:| +| city64 | 0.342133 | 5 | 5 | 6 | 11 | +| city32 | 0.136737 | 5 | 5 | 6 | 11 | +| xx64 | 0.913448 | 5 | 5 | 6 | 11 | +| xx32 | 0.168673 | 5 | 5 | 6 | 11 | +| spooky64 | 0.0763224 | 5 | 5 | 6 | 11 | +| spooky32 | 0.87128 | 5 | 5 | 6 | 11 | +| murmur3 32 | 0.00554774 | 5 | 5 | 6 | 11 | +| fnv1a64 | 0.120278 | 5 | 5 | 6 | 11 | +| fnv1a32 | 0.211224 | 5 | 5 | 6 | 11 | +| adler32 | 0 | 5 | 5 | 7 | 12 | +| djb2_32 | 0.671138 | 5 | 5 | 6 | 11 | +| djb2_64 | 0.198534 | 5 | 5 | 6 | 11 | + + +Markdown Table for Test: uniform_hashing_cc24799 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.320044 | 4.9996 | 5 | 6 | 11 | +| city32 | 0.950028 | 4.9996 | 5 | 6 | 11 | +| xx64 | 0.985074 | 4.9996 | 5 | 6 | 11 | +| xx32 | 0.638649 | 4.9996 | 5 | 6 | 11 | +| spooky64 | 0.938653 | 4.9996 | 5 | 6 | 11 | +| spooky32 | 0.324541 | 4.9996 | 5 | 6 | 11 | +| murmur3 32 | 0.827089 | 4.9996 | 5 | 6 | 11 | +| fnv1a64 | 0.132858 | 4.9996 | 5 | 6 | 11 | +| fnv1a32 | 0.677634 | 4.9996 | 5 | 6 | 11 | +| adler32 | 0 | 4.9996 | 5 | 7 | 13 | +| djb2_32 | 0.335571 | 4.9996 | 5 | 6 | 11 | +| djb2_64 | 0.855059 | 4.9996 | 5 | 6 | 11 | + + +Markdown Table for Test: uniform_hashing_cc6199 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|-----------:|----------:|------:|------:|------:| +| city64 | 0.0318986 | 20.0008 | 20 | 23 | 31 | +| city32 | 0.485435 | 20.0008 | 20 | 23 | 31 | +| xx64 | 0.100485 | 20.0008 | 20 | 23 | 31 | +| xx32 | 0.994146 | 20.0008 | 20 | 23 | 31 | +| spooky64 | 0.457942 | 20.0008 | 20 | 23 | 31 | +| spooky32 | 0.690611 | 20.0008 | 20 | 23 | 31 | +| murmur3 32 | 0.872433 | 20.0008 | 20 | 23 | 31 | +| fnv1a64 | 0.569355 | 20.0008 | 20 | 23 | 31 | +| fnv1a32 | 0.868203 | 20.0008 | 20 | 23 | 31 | +| adler32 | 0.00760926 | 20.0008 | 20 | 23 | 31 | +| djb2_32 | 0.362439 | 20.0008 | 20 | 23 | 31 | +| djb2_64 | 0.423641 | 20.0008 | 20 | 23 | 31 | + + +Markdown Table for Test: uniform_hashing_cc6203 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.806491 | 19.9879 | 20 | 23 | 31 | +| city32 | 0.460943 | 19.9879 | 20 | 23 | 31 | +| xx64 | 0.535028 | 19.9879 | 20 | 23 | 31 | +| xx32 | 0.0361965 | 19.9879 | 20 | 23 | 31 | +| spooky64 | 0.625626 | 19.9879 | 20 | 23 | 31 | +| spooky32 | 0.789106 | 19.9879 | 20 | 23 | 31 | +| murmur3 32 | 0.376738 | 19.9879 | 20 | 23 | 31 | +| fnv1a64 | 0.44424 | 19.9879 | 20 | 23 | 31 | +| fnv1a32 | 0.845589 | 19.9879 | 20 | 23 | 31 | +| adler32 | 0 | 19.9879 | 19 | 25 | 38 | +| djb2_32 | 0.285359 | 19.9879 | 20 | 23 | 31 | +| djb2_64 | 0.835886 | 19.9879 | 20 | 23 | 31 | + + +Markdown Table for Test: uniform_hashing_cc65536 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.697148 | 1.89186 | 2 | 3 | 6 | +| city32 | 0.970348 | 1.89186 | 2 | 3 | 6 | +| xx64 | 0.153574 | 1.89186 | 2 | 3 | 6 | +| xx32 | 0.0501847 | 1.89186 | 2 | 3 | 6 | +| spooky64 | 0.625618 | 1.89186 | 2 | 3 | 6 | +| spooky32 | 0.625618 | 1.89186 | 2 | 3 | 6 | +| murmur3 32 | 0.781338 | 1.89186 | 2 | 3 | 6 | +| fnv1a64 | 0.290318 | 1.89186 | 2 | 3 | 6 | +| fnv1a32 | 0.293319 | 1.89186 | 2 | 3 | 6 | +| adler32 | 0 | 1.89186 | 0 | 0 | 76 | +| djb2_32 | 0.389238 | 1.89186 | 2 | 3 | 6 | +| djb2_64 | 0.389238 | 1.89186 | 2 | 3 | 6 | + + +Markdown Table for Test: uniform_hashing_cc65537 + +| hash_function | p_value | average | p50 | p75 | p99 | +|:----------------|----------:|----------:|------:|------:|------:| +| city64 | 0.899992 | 1.89183 | 2 | 3 | 6 | +| city32 | 0.80894 | 1.89183 | 2 | 3 | 6 | +| xx64 | 0.106118 | 1.89183 | 2 | 3 | 6 | +| xx32 | 0.486984 | 1.89183 | 2 | 3 | 6 | +| spooky64 | 0.509115 | 1.89183 | 2 | 3 | 6 | +| spooky32 | 0.878417 | 1.89183 | 2 | 3 | 6 | +| murmur3 32 | 0.986041 | 1.89183 | 2 | 3 | 6 | +| fnv1a64 | 0.0671572 | 1.89183 | 2 | 3 | 6 | +| fnv1a32 | 0.65536 | 1.89183 | 2 | 3 | 6 | +| adler32 | 0 | 1.89183 | 0 | 0 | 40 | +| djb2_32 | 0.523084 | 1.89183 | 2 | 3 | 6 | +| djb2_64 | 0.019556 | 1.89183 | 2 | 3 | 6 | + + diff --git a/more_results/wordlist_collisions.md b/more_results/wordlist_collisions.md new file mode 100644 index 0000000..0a4c85f --- /dev/null +++ b/more_results/wordlist_collisions.md @@ -0,0 +1,50 @@ +### AMERICAN + +| Hash Function | Collisions | Collision Percentage | +|---------------|------------|----------------------| +| city64 | 0 | 0 | +| city32 | 3 | 0.00241965 | +| xx64 | 0 | 0 | +| xx32 | 2 | 0.0016131 | +| spooky64 | 0 | 0 | +| spooky32 | 4 | 0.0032262 | +| murmur3 32 | 1 | 0.00080655 | +| fnv1a64 | 0 | 0 | +| fnv1a32 | 3 | 0.00241965 | +| adler32 | 29937 | 24.1457 | +| djb2 32 | 90 | 0.0725894 | +| djb2 64 | 90 | 0.0725894 | + +### FRENCH + +| Hash Function | Collisions | Collision Percentage | +|---------------|------------|----------------------| +| city64 | 0 | 0 | +| city32 | 6 | 0.00271031 | +| xx64 | 0 | 0 | +| xx32 | 10 | 0.00451718 | +| spooky64 | 0 | 0 | +| spooky32 | 15 | 0.00677577 | +| murmur3 32 | 6 | 0.00271031 | +| fnv1a64 | 0 | 0 | +| fnv1a32 | 4 | 0.00180687 | +| adler32 | 47469 | 21.4426 | +| djb2 32 | 16 | 0.00722749 | +| djb2 64 | 9 | 0.00406546 | + +### GERMAN + +| Hash Function | Collisions | Collision Percentage | +|---------------|------------|----------------------| +| city64 | 0 | 0 | +| city32 | 11 | 0.00360968 | +| xx64 | 0 | 0 | +| xx32 | 10 | 0.00328153 | +| spooky64 | 0 | 0 | +| spooky32 | 10 | 0.00328153 | +| murmur3 32 | 15 | 0.00492229 | +| fnv1a64 | 0 | 0 | +| fnv1a32 | 18 | 0.00590675 | +| adler32 | 68006 | 22.3164 | +| djb2 32 | 17 | 0.0055786 | +| djb2 64 | 2 | 0.00065631 | -- cgit v1.2.3