From ab21c5c7599883eda7efce8ff1da2c1b8e586a09 Mon Sep 17 00:00:00 2001 From: Till Faelligen Date: Tue, 12 Apr 2022 17:33:11 +0200 Subject: [PATCH] Preallocate slice, even if it will end up with fewer values --- syncapi/streams/stream_pdu.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syncapi/streams/stream_pdu.go b/syncapi/streams/stream_pdu.go index ced796f6e..80233da13 100644 --- a/syncapi/streams/stream_pdu.go +++ b/syncapi/streams/stream_pdu.go @@ -468,8 +468,9 @@ func (p *PDUStreamProvider) lazyLoadMembers( timelineUsers[event.Sender()] = struct{}{} } } + // Preallocate with the same amount, even if it will end up with fewer values + newStateEvents := make([]*gomatrixserverlib.HeaderedEvent, 0, len(stateEvents)) // Remove existing membership events we don't care about, e.g. users not in the timeline.events - newStateEvents := []*gomatrixserverlib.HeaderedEvent{} for _, event := range stateEvents { if event.Type() == gomatrixserverlib.MRoomMember && event.StateKey() != nil { // If this is a gapped incremental sync, we still want this membership