]> Cypherpunks repositories - gostls13.git/commitdiff
compress: reordering fields to reduce struct sizes
authorapocelipes <seve3r@outlook.com>
Wed, 24 Apr 2024 09:59:02 +0000 (09:59 +0000)
committerGopher Robot <gobot@golang.org>
Fri, 26 Apr 2024 13:32:40 +0000 (13:32 +0000)
Overall, there are 32 bytes reduced.

Change-Id: I455bf0874b33fa47719f42618e4800c7ff2a9e88
GitHub-Last-Rev: 7670344c4a643afdec0fdae3d34fdb8ccd81205f
GitHub-Pull-Request: golang/go#67010
Reviewed-on: https://go-review.googlesource.com/c/go/+/581355
Reviewed-by: Joedian Reid <joedian@google.com>
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@golang.org>
src/compress/bzip2/bzip2.go
src/compress/flate/deflate.go
src/compress/gzip/gzip.go
src/compress/lzw/writer.go

index 73e201b80e2b38b0ee0f4e9ce52cc0b4d6615e80..d41ff2c83b7a9501d678f09cc9daa85d7bf8a26a 100644 (file)
@@ -27,8 +27,8 @@ type reader struct {
        blockCRC     uint32
        wantBlockCRC uint32
        setupDone    bool // true if we have parsed the bzip2 header.
-       blockSize    int  // blockSize in bytes, i.e. 900 * 1000.
        eof          bool
+       blockSize    int       // blockSize in bytes, i.e. 900 * 1000.
        c            [256]uint // the ``C'' array for the inverse BWT.
        tt           []uint32  // mirrors the ``tt'' array in the bzip2 source and contains the P array in the upper 24 bits.
        tPos         uint32    // Index of the next output byte in tt.
index ea343b2298f34625c5569ac9daed0bb9f224733d..0e07afab7de78b1f8a18294c12594b3562991c30 100644 (file)
@@ -87,7 +87,6 @@ type compressor struct {
        // compression algorithm
        fill      func(*compressor, []byte) int // copy data to window
        step      func(*compressor)             // process window
-       sync      bool                          // requesting flush
        bestSpeed *deflateFast                  // Encoder for BestSpeed
 
        // Input hash chains
@@ -107,6 +106,8 @@ type compressor struct {
        blockStart    int  // window index where current tokens start
        byteAvailable bool // if true, still need to process window[index-1].
 
+       sync bool // requesting flush
+
        // queued output tokens
        tokens []token
 
index ab4598d89fdab17c5b7f170170613ae503e0a45f..5f24444237cef1e2499080db2010f3d0926b9852 100644 (file)
@@ -30,11 +30,11 @@ type Writer struct {
        w           io.Writer
        level       int
        wroteHeader bool
+       closed      bool
+       buf         [10]byte
        compressor  *flate.Writer
        digest      uint32 // CRC-32, IEEE polynomial (section 8)
        size        uint32 // Uncompressed size (section 2.3.1)
-       closed      bool
-       buf         [10]byte
        err         error
 }
 
index 99ad3501c5829110863c48ddf60f630c8f516ee7..9fbb08dbae89f41d8468c89152ae241ed3ba28c1 100644 (file)
@@ -36,15 +36,15 @@ const (
 type Writer struct {
        // w is the writer that compressed bytes are written to.
        w writer
+       // litWidth is the width in bits of literal codes.
+       litWidth uint
        // order, write, bits, nBits and width are the state for
        // converting a code stream into a byte stream.
        order Order
        write func(*Writer, uint32) error
-       bits  uint32
        nBits uint
        width uint
-       // litWidth is the width in bits of literal codes.
-       litWidth uint
+       bits  uint32
        // hi is the code implied by the next code emission.
        // overflow is the code at which hi overflows the code width.
        hi, overflow uint32