Some lines from quicklz.c:
Code:
// 1.5.0 final

[...]

static __inline ui32 hash_func(ui32 i)
{
#if QLZ_COMPRESSION_LEVEL == 2
    return ((i >> 9) ^ (i >> 13) ^ i) & (QLZ_HASH_VALUES - 1);
#else
    return ((i >> 12) ^ i) & (QLZ_HASH_VALUES - 1);
#endif
}
In level 1 the compressor shows ratio on enwik8 52%. How it's possible under such hash function and 4K cells in hash table?

If I change in my lz4i source hash function in on i >> 12) ^ i then the ratio "increases" from 52% to 72%...

Also I've changed in my code size of hash table from 512K to 16K cells, but did not observe acceleration...