mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-03 10:17:46 +00:00
Merge pull request #35125 from wojtek-t/avoid_unnecessary_reallocations
Automatic merge from submit-queue Avoid unnecessary reallocations of slice in Cacher
This commit is contained in:
@@ -387,6 +387,12 @@ func (c *Cacher) List(ctx context.Context, key string, resourceVersion string, p
|
|||||||
return fmt.Errorf("failed to wait for fresh list: %v", err)
|
return fmt.Errorf("failed to wait for fresh list: %v", err)
|
||||||
}
|
}
|
||||||
trace.Step(fmt.Sprintf("Listed %d items from cache", len(objs)))
|
trace.Step(fmt.Sprintf("Listed %d items from cache", len(objs)))
|
||||||
|
if len(objs) > listVal.Cap() && pred.Label.Empty() && pred.Field.Empty() {
|
||||||
|
// Resize the slice appropriately, since we already know that none
|
||||||
|
// of the elements will be filtered out.
|
||||||
|
listVal.Set(reflect.MakeSlice(reflect.SliceOf(c.objectType.Elem()), 0, len(objs)))
|
||||||
|
trace.Step("Resized result")
|
||||||
|
}
|
||||||
for _, obj := range objs {
|
for _, obj := range objs {
|
||||||
elem, ok := obj.(*storeElement)
|
elem, ok := obj.(*storeElement)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
Reference in New Issue
Block a user