From 34d3f0c0f8b2f68c6e3c5d3daa8b49f5b87d0a41 Mon Sep 17 00:00:00 2001 From: congqixia Date: Mon, 28 Jul 2025 11:02:55 +0800 Subject: [PATCH] enhance: Reserve builder space for ValueSerializer (#43570) Add `arrowBuild.Reserve` call for `ValueSerializer` to reduce repeated resizing buffer when write size is large Signed-off-by: Congqi Xia --- internal/storage/serde_events.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/storage/serde_events.go b/internal/storage/serde_events.go index 204a3f25bb..5d569c4767 100644 --- a/internal/storage/serde_events.go +++ b/internal/storage/serde_events.go @@ -497,6 +497,7 @@ func ValueSerializer(v []*Value, schema *schemapb.CollectionSchema) (Record, err for _, f := range allFieldsSchema { dim, _ := typeutil.GetDim(f) builders[f.FieldID] = array.NewBuilder(memory.DefaultAllocator, serdeMap[f.DataType].arrowType(int(dim))) + builders[f.FieldID].Reserve(len(v)) // reserve space to avoid copy types[f.FieldID] = f.DataType }