diff options
| author | 2024-11-11 15:45:19 +0000 | |
|---|---|---|
| committer | 2024-11-11 15:45:19 +0000 | |
| commit | e3c2b790fd4329494979bd27be7fa162600f1436 (patch) | |
| tree | 4f33353453cf45a670149e3d9f7dedc56ad79a88 /internal/gtsmodel | |
| parent | [chore]: Bump golang.org/x/net from 0.30.0 to 0.31.0 (#3536) (diff) | |
| download | gotosocial-e3c2b790fd4329494979bd27be7fa162600f1436.tar.xz | |
[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
Diffstat (limited to 'internal/gtsmodel')
| -rw-r--r-- | internal/gtsmodel/conversation.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/internal/gtsmodel/conversation.go b/internal/gtsmodel/conversation.go index d17cbe6fe..d3bdcbf1d 100644 --- a/internal/gtsmodel/conversation.go +++ b/internal/gtsmodel/conversation.go @@ -22,7 +22,7 @@ import ( "strings" "time" - "github.com/superseriousbusiness/gotosocial/internal/util" + "github.com/superseriousbusiness/gotosocial/internal/util/xslices" ) // Conversation represents direct messages between the owner account and a set of other accounts. @@ -62,7 +62,7 @@ type Conversation struct { // ConversationOtherAccountsKey creates an OtherAccountsKey from a list of OtherAccountIDs. func ConversationOtherAccountsKey(otherAccountIDs []string) string { - otherAccountIDs = util.Deduplicate(otherAccountIDs) + otherAccountIDs = xslices.Deduplicate(otherAccountIDs) slices.Sort(otherAccountIDs) return strings.Join(otherAccountIDs, ",") } |
