New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[perf] consider to yield when creating workbench contributions #169937
Comments
@jrieken open for suggestions, the slight risk is that a contribution will no longer be guaranteed to be instantiated when layout is restored, but later. For the vscode/src/vs/workbench/browser/workbench.ts Lines 432 to 436 in 229c95c
Would you suggest doing the same for |
I had something like this or a static allowed time (20ms) in mind so that instantiating all contributions doesn't block for too long. And yes there is a risk of the behavioural change because some extension can become instantiated slightly later but I believe that's manageable |
@jrieken one thing I just realise is that we seem to be marking vscode/src/vs/workbench/browser/workbench.ts Lines 429 to 451 in 70c45ba
As such, we seem to actually be waiting for each workbench contribution that is registered on |
Oh interesting, looks like we are lucky given this
Even though calling Anyway, I would maybe still make this more explicit and move the code that marks |
We have many workbench contributions for the phase
Restored
and that's visible in telemetry. The median times are quite bad - half our users "wait" for longer than 80ms.IMO we should consider to yield while this is happening, e.g instantiate contributions for some time (15 or 30ms) and then schedule a task for more creation work
The text was updated successfully, but these errors were encountered: