diff options
| author | 2025-11-23 08:00:00 +0800 | |
|---|---|---|
| committer | 2025-11-23 08:00:00 +0800 | |
| commit | 7eaa8614c897a97d241335982f4c04f1f27b0715 (patch) | |
| tree | ab39c63adecab22464b3fa50be7073647bb817d4 /internal/flatex | |
| parent | obj: Add ReadObjectTypeRaw (diff) | |
| signature | No 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.go | 8 |
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 { |
