mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-12-07 03:08:07 -06:00
[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
This commit is contained in:
parent
98eef328ea
commit
e3c2b790fd
29 changed files with 189 additions and 76 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue