From 4e85c7bea71a67df03d1dc80f78751637eec1aff Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Wed, 20 Mar 2024 11:48:52 +0100 Subject: pkg/signal: optimize Split() If all signal is to be returned to the caller, there's no sense in deleting it from the original map. Just swap it. --- pkg/signal/signal.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/signal/signal.go b/pkg/signal/signal.go index 86c4a4ab9..7a2a8bd16 100644 --- a/pkg/signal/signal.go +++ b/pkg/signal/signal.go @@ -33,8 +33,10 @@ func (s Signal) Copy() Signal { } func (s *Signal) Split(n int) Signal { - if s.Empty() { - return nil + if n >= s.Len() { + ret := *s + *s = nil + return ret } c := make(Signal, n) for e, p := range *s { -- cgit mrf-deployment