diff options
| author | 2024-11-11 15:45:19 +0000 | |
|---|---|---|
| committer | 2024-11-11 15:45:19 +0000 | |
| commit | e3c2b790fd4329494979bd27be7fa162600f1436 (patch) | |
| tree | 4f33353453cf45a670149e3d9f7dedc56ad79a88 /internal/db/bundb/conversation.go | |
| 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/db/bundb/conversation.go')
| -rw-r--r-- | internal/db/bundb/conversation.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/internal/db/bundb/conversation.go b/internal/db/bundb/conversation.go index 22ff4fd79..354463111 100644 --- a/internal/db/bundb/conversation.go +++ b/internal/db/bundb/conversation.go @@ -31,7 +31,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/log" "github.com/superseriousbusiness/gotosocial/internal/paging" "github.com/superseriousbusiness/gotosocial/internal/state" - "github.com/superseriousbusiness/gotosocial/internal/util" + "github.com/superseriousbusiness/gotosocial/internal/util/xslices" "github.com/uptrace/bun" "github.com/uptrace/bun/dialect" ) @@ -209,7 +209,7 @@ func (c *conversationDB) getConversationsByLastStatusIDs( // Reorder the conversations by their last status IDs to ensure correct order. getID := func(b *gtsmodel.Conversation) string { return b.ID } - util.OrderBy(conversations, conversationLastStatusIDs, getID) + xslices.OrderBy(conversations, conversationLastStatusIDs, getID) if gtscontext.Barebones(ctx) { // no need to fully populate. @@ -558,7 +558,7 @@ func (c *conversationDB) DeleteStatusFromConversations(ctx context.Context, stat // Invalidate cache entries. updatedConversationIDs = append(updatedConversationIDs, deletedConversationIDs...) - updatedConversationIDs = util.Deduplicate(updatedConversationIDs) + updatedConversationIDs = xslices.Deduplicate(updatedConversationIDs) c.state.Caches.DB.Conversation.InvalidateIDs("ID", updatedConversationIDs) return nil |
