summaryrefslogtreecommitdiff
path: root/internal/db/bundb/conversation.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2024-11-11 15:45:19 +0000
committerLibravatar GitHub <noreply@github.com>2024-11-11 15:45:19 +0000
commite3c2b790fd4329494979bd27be7fa162600f1436 (patch)
tree4f33353453cf45a670149e3d9f7dedc56ad79a88 /internal/db/bundb/conversation.go
parent[chore]: Bump golang.org/x/net from 0.30.0 to 0.31.0 (#3536) (diff)
downloadgotosocial-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.go6
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