From 84f32055471bf3b3080014115b0dfccc6f5cc963 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Fri, 3 Nov 2023 21:50:38 -0400 Subject: [PATCH] Use a larger initial hash table if non-hashed argument is large --- src/singeli/src/search.singeli | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/singeli/src/search.singeli b/src/singeli/src/search.singeli index 40b2e35c..d963262a 100644 --- a/src/singeli/src/search.singeli +++ b/src/singeli/src/search.singeli @@ -344,7 +344,7 @@ fn hashtab{T, name}(rp:*rty{name}, ip:*T, m:usz, fp:*T, n:usz, links:ity{name}) log := clzc{m} # Max size - msl := clzc{m} + 2 + msl := max{clzc{m+m/2}+1, min{ux~~14,clzc{m+n/4}}} msz := usz~~1 << msl # Starting log-size sl := msl; if (msl>=14) sl = 12+(msl&1)