mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 13:22:25 -05:00
[performance] update go-structr and go-mutexes with memory usage improvements (#2909)
* update go-structr and go-mutexes with memory usage improvements * bump to go-structr v0.8.4
This commit is contained in:
parent
578a4e0cf5
commit
c06e6fb656
26 changed files with 1409 additions and 163 deletions
17
vendor/codeberg.org/gruf/go-structr/queue.go
generated
vendored
17
vendor/codeberg.org/gruf/go-structr/queue.go
generated
vendored
|
|
@ -214,9 +214,10 @@ func (q *Queue[T]) Debug() map[string]any {
|
|||
m["indices"] = indices
|
||||
for i := range q.indices {
|
||||
var n uint64
|
||||
for _, list := range q.indices[i].data {
|
||||
n += uint64(list.len)
|
||||
}
|
||||
q.indices[i].data.Iter(func(_ string, l *list) (stop bool) {
|
||||
n += uint64(l.len)
|
||||
return
|
||||
})
|
||||
indices[q.indices[i].name] = n
|
||||
}
|
||||
q.mutex.Unlock()
|
||||
|
|
@ -324,8 +325,14 @@ func (q *Queue[T]) delete(item *indexed_item) {
|
|||
entry := item.indexed[len(item.indexed)-1]
|
||||
item.indexed = item.indexed[:len(item.indexed)-1]
|
||||
|
||||
// Drop index_entry from index.
|
||||
entry.index.delete_entry(entry)
|
||||
// Get entry's index.
|
||||
index := entry.index
|
||||
|
||||
// Drop this index_entry.
|
||||
index.delete_entry(entry)
|
||||
|
||||
// Check compact.
|
||||
index.compact()
|
||||
}
|
||||
|
||||
// Drop entry from queue list.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue