Skip to content

Commit 068fc8f

Browse files
authored
add parallelizing diffing (#77)
1 parent a0f7186 commit 068fc8f

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

pkg/cmd/realname-diff.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ func NewCmdRealnameDiff(streams genericclioptions.IOStreams) *cobra.Command {
8383
configFlags.AddFlags(cmd.Flags())
8484
cmd.Flags().StringVarP(&options.selector, "selector", "l", options.selector, "Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)")
8585
cmd.Flags().BoolVar(&options.showManagedFields, "show-managed-fields", options.showManagedFields, "If true, include managed fields in the diff.")
86+
cmd.Flags().IntVar(&options.concurrency, "concurrency", 1, "Number of objects to process in parallel when diffing against the live version. Larger number = faster, but more memory, I/O and CPU over that shorter period of time.")
8687
cmdutil.AddFilenameOptionFlags(cmd, &options.filenameOptions, "Contains the configuration to diff")
8788
cmdutil.AddServerSideApplyFlags(cmd)
8889
cmdutil.AddFieldManagerFlagVar(cmd, &options.fieldManager, apply.FieldManagerClientSideApply)
@@ -116,6 +117,7 @@ type RealnameDiffOptions struct {
116117
forceConflicts bool
117118
showManagedFields bool
118119

120+
concurrency int
119121
selector string
120122
openAPIGetter openapi.OpenAPIResourcesGetter
121123
openAPIV3Root openapi3.Root
@@ -328,6 +330,7 @@ func (o *RealnameDiffOptions) Run() error {
328330

329331
r := o.builder.
330332
Unstructured().
333+
VisitorConcurrency(o.concurrency).
331334
NamespaceParam(o.cmdNamespace).DefaultNamespace().
332335
FilenameParam(o.enforceNamespace, &o.filenameOptions).
333336
LabelSelectorParam(o.selector).

0 commit comments

Comments
 (0)