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/account.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/account.go')
| -rw-r--r-- | internal/db/bundb/account.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/internal/db/bundb/account.go b/internal/db/bundb/account.go index 16c82c08f..f054b1412 100644 --- a/internal/db/bundb/account.go +++ b/internal/db/bundb/account.go @@ -36,6 +36,7 @@ import ( "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" ) @@ -86,7 +87,7 @@ func (a *accountDB) GetAccountsByIDs(ctx context.Context, ids []string) ([]*gtsm // Reorder the statuses by their // IDs to ensure in correct order. getID := func(a *gtsmodel.Account) string { return a.ID } - util.OrderBy(accounts, ids, getID) + xslices.OrderBy(accounts, ids, getID) if gtscontext.Barebones(ctx) { // no need to fully populate. |
