我正在研究不同的哈希函数并遇到了SuperFastHash。该散列函数使用了一种称为“雪崩”的技术,其定义如下:
/* Force "avalanching" of final 127 bits */
hash ^= hash << 3;
hash += hash >> 5;
hash ^= hash << 4;
hash += hash >> 17;
hash ^= hash << 25;
hash += hash >> 6;
雪崩的目的是什么?为什么要使用这些特定的位移步骤(3、5、4..)?