From 3554991444c979c8c4fabc62383d1a032ae3e5fe Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Mon, 6 May 2024 19:44:22 +0000 Subject: update go-structr -> v0.8.2 which includes some minor memory usage improvements (#2904) --- vendor/codeberg.org/gruf/go-structr/cache.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'vendor/codeberg.org/gruf/go-structr/cache.go') diff --git a/vendor/codeberg.org/gruf/go-structr/cache.go b/vendor/codeberg.org/gruf/go-structr/cache.go index d9bcc58d3..17c491158 100644 --- a/vendor/codeberg.org/gruf/go-structr/cache.go +++ b/vendor/codeberg.org/gruf/go-structr/cache.go @@ -556,6 +556,12 @@ func (c *Cache[T]) Cap() int { func (c *Cache[T]) store_value(index *Index, key Key, value T) { // Alloc new index item. item := new_indexed_item() + if cap(item.indexed) < len(c.indices) { + + // Preallocate item indices slice to prevent Go auto + // allocating overlying large slices we don't need. + item.indexed = make([]*index_entry, 0, len(c.indices)) + } // Create COPY of value. value = c.copy(value) @@ -622,6 +628,14 @@ func (c *Cache[T]) store_error(index *Index, key Key, err error) { // Alloc new index item. item := new_indexed_item() + if cap(item.indexed) < len(c.indices) { + + // Preallocate item indices slice to prevent Go auto + // allocating overlying large slices we don't need. + item.indexed = make([]*index_entry, 0, len(c.indices)) + } + + // Set error val. item.data = err // Append item to index. -- cgit v1.2.3