rose: simplify long lit table, add bloom filter

Replaces the original long lit hash table (used in streaming mode) with a
smaller, simpler linear probing approach. Adds a bloom filter in front
of it to reduce time spent on false positives.

Sizing of both the hash table and bloom filter are done based on max
load.
This commit is contained in:
Justin Viiret
2016-09-22 13:58:42 +10:00
committed by Matthew Barr
parent 68bf473e2e
commit 8869dee643
8 changed files with 520 additions and 435 deletions

View File

@@ -70,6 +70,7 @@
#define CASE_BIT 0x20
#define CASE_CLEAR 0xdf
#define DOUBLE_CASE_CLEAR 0xdfdf
#define OCTO_CASE_CLEAR 0xdfdfdfdfdfdfdfdfULL
static really_inline
u32 clz32(u32 x) {