Description
Is your feature request related to a problem? Please describe.
Today dynamic config supports converting config values from primitive types and collections to other Go types.
The conversion code is run every time a value is retrieved and could end up taking up excessive CPU resources.
Describe the solution you'd like
Perform conversion only when values change. Based on discussions with @dnr, the best way to achieve this is to optimize for NotifyingClient
implementations (an optional interface for Client
).
The concern with this approach is that we would end up with two code paths to maintain and that users that provide an alternative Client
implementation would not get the perf benefits. We should be careful if we decide to change the Client
interface since it's public and we try not to break API compatibility.