mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-12-03 10:08:07 -06:00
[performance] reduce InboxForward->Create calls by partially implementing Exists() (#3647)
* alphabetical reordering * keep a cache of activity IDs we have handled creates for * reduce number of inbox forwarding create calls by partially implementing Exists() * increase cache size, since all we're storing is string keys
This commit is contained in:
parent
5c0514e83c
commit
0a99901c65
6 changed files with 29 additions and 23 deletions
|
|
@ -21,6 +21,7 @@ import (
|
|||
"context"
|
||||
"net/url"
|
||||
|
||||
"codeberg.org/gruf/go-cache/v3/simple"
|
||||
"github.com/superseriousbusiness/activity/pub"
|
||||
"github.com/superseriousbusiness/activity/streams/vocab"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/filter/interaction"
|
||||
|
|
@ -61,6 +62,10 @@ type federatingDB struct {
|
|||
visFilter *visibility.Filter
|
||||
intFilter *interaction.Filter
|
||||
spamFilter *spam.Filter
|
||||
|
||||
// tracks Activity IDs we have handled creates for,
|
||||
// for use in the Exists() function during forwarding.
|
||||
activityIDs simple.Cache[string, struct{}]
|
||||
}
|
||||
|
||||
// New returns a DB that satisfies the pub.Database
|
||||
|
|
@ -79,5 +84,6 @@ func New(
|
|||
intFilter: intFilter,
|
||||
spamFilter: spamFilter,
|
||||
}
|
||||
fdb.activityIDs.Init(0, 2048)
|
||||
return &fdb
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue