Are there any Python performance regression tests?...
# python
c
Are there any Python performance regression tests? On Kubernetes 1.18 clusters with the "serversideapply" feature gate set, we see pulumi-language-python-exec take 100% cpu for minutes as it appears to serialize every single f: managed field as an input. We're putting together a simpler repo now, but its because we do a .apply on a Deployment object, which causes the entire object to be converted into an input. Every single f: field is a nested input that has to be converted which takes a massive amount of time now.
b
@gorgeous-egg-16927 @billowy-army-68599 can you help here?
b
I'm not really sure here I'm afraid
c
https://github.com/jeid64/pulumi-provider-bug/blob/118bug/__main__.py I'll open a ticket against pulumi-kubernetes with more info, but this repro's it every time if you're curious. essentially the managedFields strings just destroy performance since they are nested dictionaries, https://github.com/pulumi/pulumi/blob/78edb28590887593c91ffcb31baa52286150528f/sdk/python/lib/pulumi/output.py#L254 is especially costly
g
Thanks for the detailed report! I responded on the issue