From 33b8c3799f59ebf23813f011eb007d33d36c648d Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Thu, 21 Mar 2019 21:00:55 -0400 Subject: [PATCH] Unify runtime.SerializerInfo with negotiate.AcceptedMediaTypes There was no reason to have two types and this avoids ~10% of allocations on the GET code path. ``` BenchmarkGet-12 100000 109045 ns/op 17608 B/op 146 allocs/op BenchmarkGet-12 100000 108850 ns/op 15942 B/op 132 allocs/op ``` Kubernetes-commit: 0489d0b1cf139253b82f73b072578073bc5616d6 --- dynamic/scheme.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dynamic/scheme.go b/dynamic/scheme.go index c4aa081f..4596104d 100644 --- a/dynamic/scheme.go +++ b/dynamic/scheme.go @@ -43,6 +43,8 @@ func init() { var watchJsonSerializerInfo = runtime.SerializerInfo{ MediaType: "application/json", + MediaTypeType: "application", + MediaTypeSubType: "json", EncodesAsText: true, Serializer: json.NewSerializer(json.DefaultMetaFactory, watchScheme, watchScheme, false), PrettySerializer: json.NewSerializer(json.DefaultMetaFactory, watchScheme, watchScheme, true), @@ -77,6 +79,8 @@ func (s basicNegotiatedSerializer) SupportedMediaTypes() []runtime.SerializerInf return []runtime.SerializerInfo{ { MediaType: "application/json", + MediaTypeType: "application", + MediaTypeSubType: "json", EncodesAsText: true, Serializer: json.NewSerializer(json.DefaultMetaFactory, basicScheme, basicScheme, false), PrettySerializer: json.NewSerializer(json.DefaultMetaFactory, basicScheme, basicScheme, true),