summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-structr/queue.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-structr/queue.go')
-rw-r--r--vendor/codeberg.org/gruf/go-structr/queue.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-structr/queue.go b/vendor/codeberg.org/gruf/go-structr/queue.go
index 91092790a..d7c21daaa 100644
--- a/vendor/codeberg.org/gruf/go-structr/queue.go
+++ b/vendor/codeberg.org/gruf/go-structr/queue.go
@@ -276,6 +276,12 @@ func (q *Queue[T]) pop_n(n int, next func() *list_elem) []T {
func (q *Queue[T]) index(value T) *indexed_item {
item := new_indexed_item()
+ if cap(item.indexed) < len(q.indices) {
+
+ // Preallocate item indices slice to prevent Go auto
+ // allocating overlying large slices we don't need.
+ item.indexed = make([]*index_entry, 0, len(q.indices))
+ }
// Set item value.
item.data = value