This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
The following commit(s) were added to refs/heads/main by this push:
new 72adc727 Optimize buffer resizing in tagFamilyFilter unmarshal method
to prevent unnecessary memory allocations. (#785)
72adc727 is described below
commit 72adc7279cdfd6b4d267b1f3af4156f65c28b703
Author: Gao Hongtao <[email protected]>
AuthorDate: Wed Sep 24 09:01:26 2025 +0800
Optimize buffer resizing in tagFamilyFilter unmarshal method to prevent
unnecessary memory allocations. (#785)
---
banyand/stream/tag_filter.go | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/banyand/stream/tag_filter.go b/banyand/stream/tag_filter.go
index c609e7d8..39fd3d8e 100644
--- a/banyand/stream/tag_filter.go
+++ b/banyand/stream/tag_filter.go
@@ -103,7 +103,8 @@ func (tff *tagFamilyFilter) reset() {
func (tff tagFamilyFilter) unmarshal(tagFamilyMetadataBlock *dataBlock,
metaReader, filterReader fs.Reader) {
bb := bigValuePool.Generate()
- bb.Buf = pkgbytes.ResizeExact(bb.Buf, int(tagFamilyMetadataBlock.size))
+ defer bigValuePool.Release(bb)
+ bb.Buf = pkgbytes.ResizeExact(bb.Buf[:0],
int(tagFamilyMetadataBlock.size))
fs.MustReadData(metaReader, int64(tagFamilyMetadataBlock.offset),
bb.Buf)
tfm := generateTagFamilyMetadata()
defer releaseTagFamilyMetadata(tfm)
@@ -111,12 +112,11 @@ func (tff tagFamilyFilter)
unmarshal(tagFamilyMetadataBlock *dataBlock, metaRead
if err != nil {
logger.Panicf("%s: cannot unmarshal tagFamilyMetadata: %v",
metaReader.Path(), err)
}
- bigValuePool.Release(bb)
for _, tm := range tfm.tagMetadata {
if tm.filterBlock.size == 0 {
continue
}
- bb.Buf = pkgbytes.ResizeExact(bb.Buf, int(tm.filterBlock.size))
+ bb.Buf = pkgbytes.ResizeExact(bb.Buf[:0],
int(tm.filterBlock.size))
fs.MustReadData(filterReader, int64(tm.filterBlock.offset),
bb.Buf)
bf := generateBloomFilter()
bf = decodeBloomFilter(bb.Buf, bf)