From d942b5c4d0f94dbf010696e385729f34e6e4b3a6 Mon Sep 17 00:00:00 2001 From: pierre Date: Thu, 24 Dec 2020 10:32:51 +0100 Subject: [PATCH] layout.List: reduce allocations when scrolling backward Signed-off-by: pierre --- layout/list.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/layout/list.go b/layout/list.go index 4463e0a0..133db4b0 100644 --- a/layout/list.go +++ b/layout/list.go @@ -184,7 +184,9 @@ func (l *List) end(dims Dimensions, call op.CallOp) { case iterateForward: l.children = append(l.children, child) case iterateBackward: - l.children = append([]scrollChild{child}, l.children...) + l.children = append(l.children, scrollChild{}) + copy(l.children[1:], l.children) + l.children[0] = child l.Position.First-- l.Position.Offset += mainSize default: