From bb806a2834d0a0320f767a536cb1c9854dad52c1 Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Fri, 21 Jun 2024 08:38:53 -0400 Subject: [PATCH] 21891: Move string concatenations out of per-segment loop. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- sdk/go/manifest/manifest.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sdk/go/manifest/manifest.go b/sdk/go/manifest/manifest.go index a597003859..d80e88ab22 100644 --- a/sdk/go/manifest/manifest.go +++ b/sdk/go/manifest/manifest.go @@ -186,14 +186,16 @@ func firstBlock(offsets []uint64, rangeStart uint64) int { func (s *ManifestStream) sendFileSegmentIterByName(filepath string, ch chan<- *FileSegment) { // This is what streamName+"/"+fileName will look like: target := fixStreamName(filepath) + if !strings.HasPrefix(target, s.StreamName+"/") { + return + } + targetTokName := target[len(s.StreamName)+1:] for _, fTok := range s.FileStreamSegments { - wantPos := fTok.SegPos - wantLen := fTok.SegLen - name := fTok.Name - - if s.StreamName+"/"+name != target { + if fTok.Name != targetTokName { continue } + wantPos := fTok.SegPos + wantLen := fTok.SegLen if wantLen == 0 { ch <- &FileSegment{Locator: "d41d8cd98f00b204e9800998ecf8427e+0", Offset: 0, Len: 0} continue -- 2.30.2