From e3c2b790fd4329494979bd27be7fa162600f1436 Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Mon, 11 Nov 2024 15:45:19 +0000 Subject: [performance] minimise log field allocations (#3529) * when appending log field only do so by minimal amount * move slice utils to separate package to fix import cycle, add GrowJust() and AppendJust() functions * fix GrowJust() not returning slice of same length * improved xslices tests * make AppendJust() test check for slice contents, fix AppendJust() final copying behaviour * add a +1 with field growth to try minimise allocation for log 'msg' field --- internal/federation/federatingprotocol.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'internal/federation') diff --git a/internal/federation/federatingprotocol.go b/internal/federation/federatingprotocol.go index fdd13f7f0..a953701f8 100644 --- a/internal/federation/federatingprotocol.go +++ b/internal/federation/federatingprotocol.go @@ -35,7 +35,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtserror" "github.com/superseriousbusiness/gotosocial/internal/log" "github.com/superseriousbusiness/gotosocial/internal/uris" - "github.com/superseriousbusiness/gotosocial/internal/util" + "github.com/superseriousbusiness/gotosocial/internal/util/xslices" ) type errOtherIRIBlocked struct { @@ -162,7 +162,7 @@ func (f *Federator) PostInboxRequestBodyHook(ctx context.Context, r *http.Reques // OtherIRIs will likely contain some // duplicate entries now, so remove them. - otherIRIs = util.DeduplicateFunc(otherIRIs, + otherIRIs = xslices.DeduplicateFunc(otherIRIs, (*url.URL).String, // serialized URL is 'key()' ) -- cgit v1.3