golang中发现的一个教训:如果是读算法,就不要做成写算法
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢![*]cnblogs博客
[*]zhihu
[*]Github
[*]公众号:一本正经的瞎扯
我仍然在尝试优化 VictoriaLogs 的性能,手贱开始改以下这个函数:
// lib/logstorage/bloomfilter.gofunc initBloomFilter(bits, hashes []uint64) { maxBits := uint64(len(bits)) * 64 // bitmap 的总 bit 数 for _, h := range hashes { idx := h % maxBits // hash 值落到哪一位 . //??? 有没有更快的计算方法 i := idx / 64 // 落到哪一个数组下标 j := idx % 64 // 落到一个 uint64 中的哪个 bit mask := uint64(1)
页:
[1]