Skip to content

Optimize dynamic config value conversion #6756

Open
@bergundy

Description

@bergundy

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions