each iteration copies 1064 bytes (consider pointers or indexing)
109 pods = make(map[string][]Pod, len(ps.Items))
110 )
111
112 for _, pod := range ps.Items {113 if pod.GetObjectMeta().GetDeletionTimestamp() != nil ||
114 (r.namespace != "" && !strings.EqualFold(pod.GetNamespace(), r.namespace)) ||
115 pod.Status.Phase != corev1.PodRunning {
each iteration copies 704 bytes (consider pointers or indexing)
101
102 nodes := make([]Node, 0, len(ns.Items))
103
104 for _, node := range ns.Items {105 if node.GetDeletionTimestamp() != nil {
106 log.Debugf("reconcile process will be skipped for node: %s, status: %s, deletion timestamp: %s",
107 node.GetName(),
Description
Avoid for
loop range expressions that copy big objects for each iteration.
It is recommended to use index-based access or use pointers instead.
Bad practice
xs := make([][1024]byte, length)
for _, x := range xs {
// Loop body.
}
Recommended
xs := make([][1024]byte, length)
for i := range xs {
x := &xs[i]
// Loop body.
}