optimize Equals of ResourceLists

pull/8/head
xuzhonghu 2018-06-04 17:38:22 +08:00
parent 4c13f5fdf5
commit 7feaec1008
1 changed files with 10 additions and 18 deletions

View File

@ -27,6 +27,10 @@ import (
// Equals returns true if the two lists are equivalent
func Equals(a api.ResourceList, b api.ResourceList) bool {
if len(a) != len(b) {
return false
}
for key, value1 := range a {
value2, found := b[key]
if !found {
@ -36,20 +40,16 @@ func Equals(a api.ResourceList, b api.ResourceList) bool {
return false
}
}
for key, value1 := range b {
value2, found := a[key]
if !found {
return false
}
if value1.Cmp(value2) != 0 {
return false
}
}
return true
}
// V1Equals returns true if the two lists are equivalent
func V1Equals(a v1.ResourceList, b v1.ResourceList) bool {
if len(a) != len(b) {
return false
}
for key, value1 := range a {
value2, found := b[key]
if !found {
@ -59,15 +59,7 @@ func V1Equals(a v1.ResourceList, b v1.ResourceList) bool {
return false
}
}
for key, value1 := range b {
value2, found := a[key]
if !found {
return false
}
if value1.Cmp(value2) != 0 {
return false
}
}
return true
}