Преглед на файлове

query: Avoid binary.Write in GetRoutingKey

That last one introspects the type dynamically, which is around 100x
slower than using the PutUint16 function directly.
Adrien Bustany преди 10 години
родител
ревизия
fea9edbc92
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      session.go

+ 3 - 1
session.go

@@ -542,7 +542,9 @@ func (q *Query) GetRoutingKey() ([]byte, error) {
 		if err != nil {
 			return nil, err
 		}
-		binary.Write(buf, binary.BigEndian, int16(len(encoded)))
+		lenBuf := []byte{0x00, 0x00}
+		binary.BigEndian.PutUint16(lenBuf, uint16(len(encoded)))
+		buf.Write(lenBuf)
 		buf.Write(encoded)
 		buf.WriteByte(0x00)
 	}