consul/agent/proxycfg/internal/watch
Dan Upton e6b55d1d81
perf: remove expensive reflection from xDS hot path (#14934)
Replaces the reflection-based implementation of proxycfg's
ConfigSnapshot.Clone with code generated by deep-copy.

While load testing server-based xDS (for consul-dataplane) we discovered
this method is extremely expensive. The ConfigSnapshot struct, directly
or indirectly, contains a copy of many of the structs in the agent/structs
package, which creates a large graph for copystructure.Copy to traverse
at runtime, on every proxy reconfiguration.
2022-10-14 10:26:42 +01:00
..
watchmap.go perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
watchmap_test.go perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00