Carl Henrik Lunde
2fda12d220
perf: MakeDefaultConfig once ( #5082 )
...
* perf: MakeDefaultConfig once
This shaves of another 2 seconds (62%) of the remaining execution
time for a kustomization tree with 4000 documents, reducing the execution
time from 4.79s to 1.82s
0 0% 1.38% 2.98s 37.25% sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig.MakeDefaultConfig
before:
(pprof) top30 -cum
Showing nodes accounting for 1.82s, 22.75% of 8s total
Dropped 408 nodes (cum <= 0.04s)
Showing top 30 nodes out of 308
flat flat% sum% cum cum%
0 0% 0% 4.79s 59.88% github.com/spf13/cobra.(*Command).Execute
0 0% 0% 4.79s 59.88% github.com/spf13/cobra.(*Command).ExecuteC
0 0% 0% 4.79s 59.88% github.com/spf13/cobra.(*Command).execute
0 0% 0% 4.79s 59.88% main.main
0 0% 0% 4.79s 59.88% runtime.main
0 0% 0% 4.79s 59.88% sigs.k8s.io/kustomize/kustomize/v5/commands/build.NewCmdBuild.func1
0 0% 0% 4.22s 52.75% sigs.k8s.io/kustomize/api/krusty.(*Kustomizer).Run
0 0% 0% 4.18s 52.25% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).MakeCustomizedResMap (inline)
0 0% 0% 4.18s 52.25% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).makeCustomizedResMap
0 0% 0% 4.06s 50.75% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).AccumulateTarget
0 0% 0% 4.06s 50.75% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateResources
0 0% 0% 4.06s 50.75% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateTarget
0 0% 0% 4.05s 50.62% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateDirectory
0 0% 0% 3.22s 40.25% runtime.systemstack
0 0% 0% 3.03s 37.88% runtime.gcBgMarkWorker
0 0% 0% 3.03s 37.88% runtime.gcBgMarkWorker.func2
0.11s 1.38% 1.38% 3.03s 37.88% runtime.gcDrain
0 0% 1.38% 2.98s 37.25% sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig.MakeDefaultConfig
0 0% 1.38% 2.98s 37.25% sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig.MakeTransformerConfig
0 0% 1.38% 2.98s 37.25% sigs.k8s.io/kustomize/api/internal/plugins/builtinconfig.makeTransformerConfigFromBytes
0 0% 1.38% 2.97s 37.12% sigs.k8s.io/yaml.yamlUnmarshal
0 0% 1.38% 2.91s 36.38% sigs.k8s.io/yaml.Unmarshal (inline)
1.34s 16.75% 18.12% 2.87s 35.88% runtime.scanobject
0 0% 18.12% 2.53s 31.62% sigs.k8s.io/yaml.yamlToJSON
0 0% 18.12% 1.91s 23.88% gopkg.in/yaml%2ev2.unmarshal
0 0% 18.12% 1.86s 23.25% gopkg.in/yaml%2ev2.Unmarshal (partial-inline)
0 0% 18.12% 1.43s 17.88% gopkg.in/yaml%2ev2.(*parser).parse
0.01s 0.12% 18.25% 1.27s 15.88% gopkg.in/yaml%2ev2.(*parser).document
0.01s 0.12% 18.38% 1.25s 15.62% gopkg.in/yaml%2ev2.(*parser).mapping
0.35s 4.38% 22.75% 1.21s 15.12% runtime.mallocgc
after:
(pprof) top30 -cum
Showing nodes accounting for 0.84s, 24.42% of 3.44s total
Dropped 225 nodes (cum <= 0.02s)
Showing top 30 nodes out of 345
flat flat% sum% cum cum%
0 0% 0% 1.82s 52.91% github.com/spf13/cobra.(*Command).Execute
0 0% 0% 1.82s 52.91% github.com/spf13/cobra.(*Command).ExecuteC
0 0% 0% 1.82s 52.91% github.com/spf13/cobra.(*Command).execute
0 0% 0% 1.82s 52.91% main.main
0 0% 0% 1.82s 52.91% runtime.main
0 0% 0% 1.82s 52.91% sigs.k8s.io/kustomize/kustomize/v5/commands/build.NewCmdBuild.func1
0 0% 0% 1.57s 45.64% runtime.systemstack
0 0% 0% 1.49s 43.31% runtime.gcBgMarkWorker
0 0% 0% 1.49s 43.31% runtime.gcBgMarkWorker.func2
0.03s 0.87% 0.87% 1.49s 43.31% runtime.gcDrain
0.62s 18.02% 18.90% 1.45s 42.15% runtime.scanobject
0 0% 18.90% 1.25s 36.34% sigs.k8s.io/kustomize/api/krusty.(*Kustomizer).Run
0 0% 18.90% 1.21s 35.17% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).MakeCustomizedResMap (inline)
0 0% 18.90% 1.21s 35.17% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).makeCustomizedResMap
0 0% 18.90% 1.08s 31.40% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).AccumulateTarget
0 0% 18.90% 1.08s 31.40% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateResources
0 0% 18.90% 1.08s 31.40% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateTarget
0 0% 18.90% 1.07s 31.10% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateDirectory
0 0% 18.90% 0.57s 16.57% sigs.k8s.io/kustomize/api/resmap.(*resWrangler).AsYaml
0 0% 18.90% 0.57s 16.57% sigs.k8s.io/kustomize/api/resource.(*Resource).AsYAML
0.11s 3.20% 22.09% 0.48s 13.95% runtime.mallocgc
0 0% 22.09% 0.45s 13.08% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).accumulateFile
0 0% 22.09% 0.45s 13.08% sigs.k8s.io/kustomize/api/resmap.(*Factory).FromFile
0 0% 22.09% 0.33s 9.59% sigs.k8s.io/kustomize/kyaml/yaml.(*RNode).MarshalJSON
0.08s 2.33% 24.42% 0.32s 9.30% runtime.greyobject
0 0% 24.42% 0.30s 8.72% sigs.k8s.io/kustomize/api/resmap.(*Factory).NewResMapFromBytes
0 0% 24.42% 0.27s 7.85% sigs.k8s.io/yaml.JSONToYAML
0 0% 24.42% 0.25s 7.27% sigs.k8s.io/kustomize/api/internal/target.(*KustTarget).runTransformers
0 0% 24.42% 0.25s 7.27% sigs.k8s.io/kustomize/api/resource.(*Factory).RNodesFromBytes
0 0% 24.42% 0.25s 7.27% sigs.k8s.io/kustomize/api/resource.(*Factory).SliceFromBytes
* Tests and comments for MakeDefaultConfig perf work
Document updated code in MakeDefaultConfig.
Add unit tests to ensure DeepCopy works.
Add hints to other code to ensure DeepCopy is kept up to date.
2023-11-02 22:54:42 +01:00
Varsha Prasad Narsing
7911b2c001
[refactor]: Internalize loader api
...
This PR intends to move the loader api to
internal. Only the necessary methods which
are needed for the api have been put into
`pkg/loader.go`.
Signed-off-by: Varsha Prasad Narsing <varshaprasad96@gmail.com >
2023-09-28 10:49:45 -04:00
Varsha Prasad Narsing
ddcbae54ab
[Refactor] Internalize konfig constants
...
This PR is an effort towards internalizing public APIs.
It moves some of the builtinconstants to internal/
Signed-off-by: Varsha Prasad Narsing <varshaprasad96@gmail.com >
2023-08-09 14:14:48 -04:00
Christopher Fry
8a6602db94
Allow name suffix transformer configuration to be overridden
2022-12-08 20:10:05 +00:00
Kubernetes Prow Robot
e638e408b0
Merge pull request #4802 from oscr/the-the
...
grammar: replace all occurrences of "the the" with "the"
2022-11-16 08:22:48 -08:00
Agustina Barbetta
d14dfb604c
Use WrapPrefixf
2022-10-08 20:37:24 -03:00
Agustina Barbetta
eb1529b516
use %w to format errors
2022-09-25 09:19:31 -03:00
Agustina Barbetta
c750c0089d
use fmt instead of errors
2022-09-25 09:07:47 -03:00
Agustina Barbetta
2b9ef61f88
error wraps for linter
2022-09-23 18:30:00 -03:00
Agustina Barbetta
e2196d9bd1
separate template specific field specs and use in includeTemplates
2022-09-23 15:11:59 -03:00
Oscar Utbult
88cf251ef7
grammar: replace all occurrences of "the the" with "the"
2022-09-17 22:28:56 +02:00
Francesc Campoy
7fae7d1bd6
Move api/filesys to kyaml/filesys ( #3997 )
...
* Move api/filesys to kyaml/filesys
* Add deprecated version of api/filesys with aliases to new code
* Use new kyaml/filesys package and update dependencies
* Migrate to kyaml/filesys and update dependencies
* Skip tests that break on Windows
2021-06-16 11:42:00 -07:00
monopole
c8dddac5b9
Move resid package from api to kyaml
2021-04-30 20:39:32 -07:00
monopole
64644643d4
Improve name reference transformer testing.
2021-01-31 08:40:47 -08:00
Jeffrey Regan
caa71a73fe
Get rid of the fake loader.
2019-12-05 10:50:42 -08:00
jregan
9fa0391ce9
Remove remaining plugins packages from external API.
2019-11-06 19:32:53 -08:00