aboutsummaryrefslogtreecommitdiff
path: root/internal/flatex
diff options
context:
space:
mode:
authorGravatar Runxi Yu2025-11-23 08:00:00 +0800
committerGravatar Runxi Yu2025-11-23 08:00:00 +0800
commit7eaa8614c897a97d241335982f4c04f1f27b0715 (patch)
treeab39c63adecab22464b3fa50be7073647bb817d4 /internal/flatex
parentobj: Add ReadObjectTypeRaw (diff)
signatureNo signature
bufpool: Return bytes.Buffer, rather than a pointer to it
It's silly to allocate a bytes.Buffer struct, however small it is, every time Borrow is called, since the entire purpose is to reduce allocations.
Diffstat (limited to 'internal/flatex')
-rw-r--r--internal/flatex/decompress_bytes.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/internal/flatex/decompress_bytes.go b/internal/flatex/decompress_bytes.go
index 0d95084c..9f1ffcfd 100644
--- a/internal/flatex/decompress_bytes.go
+++ b/internal/flatex/decompress_bytes.go
@@ -21,16 +21,16 @@ var bufferDecompressorPool = sync.Pool{
},
}
-func Decompress(src []byte) (*bufpool.Buffer, int, error) {
+func Decompress(src []byte) (bufpool.Buffer, int, error) {
return DecompressSized(src, 0)
}
-func DecompressSized(src []byte, sizeHint int) (*bufpool.Buffer, int, error) {
+func DecompressSized(src []byte, sizeHint int) (bufpool.Buffer, int, error) {
d := bufferDecompressorPool.Get().(*bufferDecompressor)
defer bufferDecompressorPool.Put(d)
if err := d.inflater.reset(src); err != nil {
- return nil, 0, err
+ return bufpool.Buffer{}, 0, err
}
out := bufpool.Borrow(sizeHint)
@@ -47,7 +47,7 @@ func DecompressSized(src []byte, sizeHint int) (*bufpool.Buffer, int, error) {
return out, d.inflater.pos, nil
}
out.Release()
- return nil, 0, d.inflater.err
+ return bufpool.Buffer{}, 0, d.inflater.err
}
d.inflater.step(&d.inflater)
if d.inflater.err != nil && len(d.inflater.toRead) == 0 {