]> Sergey Matveev's repositories - btrtrc.git/blobdiff - peerconn.go
Reduce allocations in iterBitmapsDistinct
[btrtrc.git] / peerconn.go
index de82cf3b2a44e3fb18940ea6e6ad87d0085ea073..0c276808f37d8d5e36dbf636e460b719e3fa2d37 100644 (file)
@@ -743,12 +743,13 @@ func (cn *PeerConn) updateRequests() {
 func iterBitmapsDistinct(skip *bitmap.Bitmap, bms ...bitmap.Bitmap) iter.Func {
        return func(cb iter.Callback) {
                for _, bm := range bms {
+                       bm.Sub(*skip)
                        if !iter.All(
                                func(i interface{}) bool {
                                        skip.Add(i.(int))
                                        return cb(i)
                                },
-                               bitmap.Sub(bm, *skip).Iter,
+                               bm.Iter,
                        ) {
                                return
                        }