Forráskód Böngészése

libnetwork/bitmap: optimize binary serialization

The byte-slice temporary is fully overwritten on each loop iteration so
it can be safely reused to reduce GC pressure.

Signed-off-by: Cory Snider <csnider@mirantis.com>
Cory Snider 2 éve
szülő
commit
143c092187
1 módosított fájl, 1 hozzáadás és 1 törlés
  1. 1 1
      libnetwork/bitmap/sequence.go

+ 1 - 1
libnetwork/bitmap/sequence.go

@@ -142,8 +142,8 @@ func (s *sequence) toByteArray() ([]byte, error) {
 	var bb []byte
 
 	p := s
+	b := make([]byte, 12)
 	for p != nil {
-		b := make([]byte, 12)
 		binary.BigEndian.PutUint32(b[0:], p.block)
 		binary.BigEndian.PutUint64(b[4:], p.count)
 		bb = append(bb, b...)