aboutsummaryrefslogtreecommitdiff
path: root/object
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-06-14 02:10:38 +0000
committerGravatar Runxi Yu2026-06-14 02:10:38 +0000
commit0c103119476db3c86e6e6d298aca71f1ac6d3468 (patch)
tree0ef9c6c5b65fad24527c712d6037fa4aed3cc4ca /object
parentinternal/compress/zlib: Pool bytes.Reader with a NewReaderBytes (diff)
object/store/packed: Use zlib.NewReaderBytes where appropriate to reduce allocs
Diffstat (limited to 'object')
-rw-r--r--object/store/packed/delta.go3
-rw-r--r--object/store/packed/entry.go3
-rw-r--r--object/store/packed/reader.go2
3 files changed, 3 insertions, 5 deletions
diff --git a/object/store/packed/delta.go b/object/store/packed/delta.go
index e48e2c65..c8fe8f75 100644
--- a/object/store/packed/delta.go
+++ b/object/store/packed/delta.go
@@ -1,7 +1,6 @@
package packed
import (
- "bytes"
"fmt"
"io"
"slices"
@@ -208,7 +207,7 @@ func (packed *Packed) resolveType(p *pack, offset int, entryHeader packfile.Entr
// deltaResultSize reads the declared result size
// from one compressed delta payload prefix.
func deltaResultSize(payload []byte, deltaSize uint64) (int, error) {
- zr, err := zlib.NewReader(bytes.NewReader(payload))
+ zr, err := zlib.NewReaderBytes(payload)
if err != nil {
return 0, fmt.Errorf("reading delta header: %w", err)
}
diff --git a/object/store/packed/entry.go b/object/store/packed/entry.go
index e9d45bb4..908afad0 100644
--- a/object/store/packed/entry.go
+++ b/object/store/packed/entry.go
@@ -1,7 +1,6 @@
package packed
import (
- "bytes"
"errors"
"fmt"
"io"
@@ -49,7 +48,7 @@ func inflate(payload []byte, expectedSize uint64) ([]byte, error) {
return nil, fmt.Errorf("declared size: %w", err)
}
- zr, err := zlib.NewReader(bytes.NewReader(payload))
+ zr, err := zlib.NewReaderBytes(payload)
if err != nil {
return nil, fmt.Errorf("inflating entry payload: %w", err)
}
diff --git a/object/store/packed/reader.go b/object/store/packed/reader.go
index bfc82eff..cf433cfc 100644
--- a/object/store/packed/reader.go
+++ b/object/store/packed/reader.go
@@ -165,7 +165,7 @@ func (packed *Packed) ReadReaderContent(objectID id.ObjectID) (typ.Type, int, io
return typ.Unknown, 0, nil, fmt.Errorf("%w: pack %q: object size overflows int: %w", ErrMalformedPackedStore, p.name, err)
}
- zr, err := zlib.NewReader(bytes.NewReader(payload))
+ zr, err := zlib.NewReaderBytes(payload)
if err != nil {
return typ.Unknown, 0, nil, fmt.Errorf("%w: pack %q: %w", ErrMalformedPackedStore, p.name, err)
}