Browse Source

codec: cache aligned en|decDrivers for different formats.

Ugorji Nwoke 6 years ago
parent
commit
efbb381fb0
4 changed files with 9 additions and 8 deletions
  1. 3 2
      codec/binc.go
  2. 2 2
      codec/cbor.go
  3. 2 2
      codec/msgpack.go
  4. 2 2
      codec/simple.go

+ 3 - 2
codec/binc.go

@@ -108,7 +108,7 @@ type bincEncDriver struct {
 	// c containerState
 	// encDriverTrackContainerWriter
 	// encNoSeparator
-	// _ [1]uint64 // padding
+	_ [4]uint64 // padding
 	e Encoder
 }
 
@@ -404,7 +404,8 @@ type bincDecDriver struct {
 	// noStreamingCodec
 	// decNoSeparator
 
-	b [8]byte // scratch for decoding numbers - big endian style
+	b [8]byte   // scratch for decoding numbers - big endian style
+	_ [4]uint64 // padding cache-aligned
 
 	d Decoder
 }

+ 2 - 2
codec/cbor.go

@@ -117,7 +117,7 @@ type cborEncDriver struct {
 	encDriverNoopContainerWriter
 	h *CborHandle
 	x [8]byte
-	// _ [3]uint64 // padding
+	_ [6]uint64 // padding
 	e Encoder
 }
 
@@ -307,7 +307,7 @@ type cborDecDriver struct {
 	fnil   bool // found nil
 	noBuiltInTypes
 	// decNoSeparator
-	// _ [3]uint64 // padding
+	_ [6]uint64 // padding cache-aligned
 	d Decoder
 }
 

+ 2 - 2
codec/msgpack.go

@@ -202,7 +202,7 @@ type msgpackEncDriver struct {
 	// encNoSeparator
 	h *MsgpackHandle
 	x [8]byte
-	// _ [3]uint64 // padding
+	_ [6]uint64 // padding
 	e Encoder
 }
 
@@ -436,7 +436,7 @@ type msgpackDecDriver struct {
 	noBuiltInTypes
 	// noStreamingCodec
 	// decNoSeparator
-	// _ [3]uint64 // padding
+	_ [6]uint64 // padding
 	d Decoder
 }
 

+ 2 - 2
codec/simple.go

@@ -38,7 +38,7 @@ type simpleEncDriver struct {
 	b [8]byte
 	// c containerState
 	// encDriverTrackContainerWriter
-	// _ [2]uint64 // padding (cache-aligned)
+	_ [6]uint64 // padding (cache-aligned)
 	e Encoder
 }
 
@@ -217,7 +217,7 @@ type simpleDecDriver struct {
 	noBuiltInTypes
 	// noStreamingCodec
 	decDriverNoopContainerReader
-	// _ [3]uint64 // padding
+	_ [6]uint64 // padding
 	d Decoder
 }