From 8725c064202b4e1378666414aa65000653235e77 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 9 Jun 2026 09:52:41 -0700 Subject: [PATCH] perf(filer): pre-size chunk stream reader buffer to view size The chunk size is known up front, so grow the buffer once instead of letting bytes.Buffer double as the streamed pieces arrive (which transiently overshoots to ~2x per reader). --- weed/filer/stream.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/weed/filer/stream.go b/weed/filer/stream.go index de53134d1..4acf93862 100644 --- a/weed/filer/stream.go +++ b/weed/filer/stream.go @@ -484,6 +484,8 @@ func (c *ChunkStreamReader) fetchChunkToBuffer(chunkView *ChunkView) error { return err } var buffer bytes.Buffer + // pre-size to the known chunk size; avoids bytes.Buffer's doubling regrowth + buffer.Grow(int(chunkView.ViewSize)) var shouldRetry bool jwt := JwtForVolumeServer(chunkView.FileId) for _, urlString := range urlStrings {