@@ -38,13 +38,13 @@ func LabelSelectorAsSelector(ps *LabelSelector) (labels.Selector, error) {
3838 if len (ps .MatchLabels )+ len (ps .MatchExpressions ) == 0 {
3939 return labels .Everything (), nil
4040 }
41- selector := labels .NewSelector ( )
41+ requirements := make ([] labels.Requirement , 0 , len ( ps . MatchLabels ) + len ( ps . MatchExpressions ) )
4242 for k , v := range ps .MatchLabels {
4343 r , err := labels .NewRequirement (k , selection .Equals , []string {v })
4444 if err != nil {
4545 return nil , err
4646 }
47- selector = selector . Add ( * r )
47+ requirements = append ( requirements , * r )
4848 }
4949 for _ , expr := range ps .MatchExpressions {
5050 var op selection.Operator
@@ -64,8 +64,10 @@ func LabelSelectorAsSelector(ps *LabelSelector) (labels.Selector, error) {
6464 if err != nil {
6565 return nil , err
6666 }
67- selector = selector . Add ( * r )
67+ requirements = append ( requirements , * r )
6868 }
69+ selector := labels .NewSelector ()
70+ selector = selector .Add (requirements ... )
6971 return selector , nil
7072}
7173
@@ -154,7 +156,7 @@ func SetAsLabelSelector(ls labels.Set) *LabelSelector {
154156 }
155157
156158 selector := & LabelSelector {
157- MatchLabels : make (map [string ]string ),
159+ MatchLabels : make (map [string ]string , len ( ls ) ),
158160 }
159161 for label , value := range ls {
160162 selector .MatchLabels [label ] = value
0 commit comments