enhance: Reserve space of payload writer when serialize data (#33817)

See also #33561 #33562

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
This commit is contained in:
congqixia 2024-06-17 12:06:04 +08:00 committed by GitHub
parent 188ee433b9
commit f993b2913b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 0 deletions

View File

@ -290,6 +290,7 @@ func (insertCodec *InsertCodec) Serialize(partitionID UniqueID, segmentID Unique
return nil, err
}
eventWriter.SetEventTimestamp(startTs, endTs)
eventWriter.Reserve(int(rowNum))
var memorySize int64
for _, block := range data {

View File

@ -47,6 +47,7 @@ type PayloadWriterInterface interface {
GetPayloadBufferFromWriter() ([]byte, error)
GetPayloadLengthFromWriter() (int, error)
ReleasePayloadWriter()
Reserve(size int)
Close()
}

View File

@ -535,6 +535,10 @@ func (w *NativePayloadWriter) FinishPayloadWriter() error {
)
}
func (w *NativePayloadWriter) Reserve(size int) {
w.builder.Reserve(size)
}
func (w *NativePayloadWriter) GetPayloadBufferFromWriter() ([]byte, error) {
data := w.output.Bytes()