Merge pull request #70234 from Adirio/Adirio-patch-1

Map allocation optimization for client-go/tools/cache

Kubernetes-commit: 12cf5451952c8425a47334465f3e03d7ca181956
This commit is contained in:
Kubernetes Publisher 2018-10-25 11:47:00 -07:00
commit 585e98112a
4 changed files with 87 additions and 87 deletions

168
Godeps/Godeps.json generated
View File

@ -280,339 +280,339 @@
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/apps/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/apps/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/apps/v1beta2",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/auditregistration/v1alpha1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/authentication/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/authentication/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/authorization/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/authorization/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/autoscaling/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/batch/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/batch/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/batch/v2alpha1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/certificates/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/coordination/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/core/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/events/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/extensions/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/imagepolicy/v1alpha1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/networking/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/policy/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/rbac/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/rbac/v1alpha1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/rbac/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/scheduling/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/settings/v1alpha1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/storage/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/storage/v1alpha1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/api/storage/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "6e4b5aa967ee9a03868e3b4edad98f27e54894c9"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/fuzzer",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/roundtrip",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/fields",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/labels",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/selection",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/types",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/naming",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/version",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/watch",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
"Rev": "951fda697f98f8cc9ae840764118a024d7c484d8"
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
},
{
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",

View File

@ -179,7 +179,7 @@ func (c *ExpirationCache) Delete(obj interface{}) error {
func (c *ExpirationCache) Replace(list []interface{}, resourceVersion string) error {
c.expirationLock.Lock()
defer c.expirationLock.Unlock()
items := map[string]interface{}{}
items := make(map[string]interface{}, len(list))
ts := c.clock.Now()
for _, item := range list {
key, err := c.keyFunc(item)

2
tools/cache/fifo.go vendored
View File

@ -297,7 +297,7 @@ func (f *FIFO) Pop(process PopProcessFunc) (interface{}, error) {
// after calling this function. f's queue is reset, too; upon return, it
// will contain the items in the map, in no particular order.
func (f *FIFO) Replace(list []interface{}, resourceVersion string) error {
items := map[string]interface{}{}
items := make(map[string]interface{}, len(list))
for _, item := range list {
key, err := f.keyFunc(item)
if err != nil {

View File

@ -210,7 +210,7 @@ func (c *cache) GetByKey(key string) (item interface{}, exists bool, err error)
// 'c' takes ownership of the list, you should not reference the list again
// after calling this function.
func (c *cache) Replace(list []interface{}, resourceVersion string) error {
items := map[string]interface{}{}
items := make(map[string]interface{}, len(list))
for _, item := range list {
key, err := c.keyFunc(item)
if err != nil {