mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-12-12 00:08:08 -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"
|
||||
)
|
||||
|
|
@ -597,7 +597,7 @@ func (e *emojiDB) GetEmojisByIDs(ctx context.Context, ids []string) ([]*gtsmodel
|
|||
// Reorder the emojis by their
|
||||
// IDs to ensure in correct order.
|
||||
getID := func(e *gtsmodel.Emoji) string { return e.ID }
|
||||
util.OrderBy(emojis, ids, getID)
|
||||
xslices.OrderBy(emojis, ids, getID)
|
||||
|
||||
if gtscontext.Barebones(ctx) {
|
||||
// no need to fully populate.
|
||||
|
|
@ -661,7 +661,7 @@ func (e *emojiDB) GetEmojiCategoriesByIDs(ctx context.Context, ids []string) ([]
|
|||
// Reorder the categories by their
|
||||
// IDs to ensure in correct order.
|
||||
getID := func(c *gtsmodel.EmojiCategory) string { return c.ID }
|
||||
util.OrderBy(categories, ids, getID)
|
||||
xslices.OrderBy(categories, ids, getID)
|
||||
|
||||
return categories, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue