variable-precision SWAR 算法详解
在学习redis源码时,发现BITCOUNT命令实现用到了variable-precision SWAR 算法。
BITCOUNT命令要解决的问题:统计一个位数组中非0二进制位的数量。在数学上被称为“计算汉明重量(Hamming Weight)”
目前已知效率最好的通用算法为variable-precision SWAR 算法。
该算法通过一系列位移和位运算操作,可以在常数时间内计算多个字节的汉明重量,并且不需要使用任何额外的内存。
