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/typeutils/internaltoas.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'internal/typeutils') diff --git a/internal/typeutils/internaltoas.go b/internal/typeutils/internaltoas.go index cfc790bd4..ed8bc1d8d 100644 --- a/internal/typeutils/internaltoas.go +++ b/internal/typeutils/internaltoas.go @@ -36,7 +36,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "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" ) // AccountToAS converts a gts model account into an activity streams person, suitable for federation @@ -1819,7 +1819,7 @@ func populateValuesForProp[T ap.WithIRI]( // Deduplicate the iri strings to // make sure we're not parsing + adding // the same string multiple times. - iriStrs = util.Deduplicate(iriStrs) + iriStrs = xslices.Deduplicate(iriStrs) // Append them to the property. for _, iriStr := range iriStrs { -- cgit v1.2.3