Skip to content

Conversation

dibarbet
Copy link
Member

@dibarbet dibarbet commented Feb 21, 2025

Was looking through startup perf at the request of devkit to see if there were things we could improve. The first commit is just misc cleanup and improvements - removes a few warnings that get reported in the extension host on startup.

In the second commit I switched to esbuild for bundling instead of webpack. I had noticed that the time to load extension code (~300ms) was much higher than our actual activation implementation (~30ms). Wanted to experiment to see if esbuild bundling reduced the output JS code size.

Unfortunately, both code size and time to load the code was essentially unchanged. However - there is an improvement in build times that I think makes this worth taking (and is expected, esbuild is way faster than webpack). In the linux leg in particular I'm seeing a roughly 3 min reduction in time
before:
image
after:
image

There are likely other things to improve there as well (e.g. removing eslint from the vsix build step).

At the same time, attempted to cleanup some of the scripts to make things a bit easier to understand.

@dibarbet dibarbet marked this pull request as ready for review February 24, 2025 19:56
@dibarbet dibarbet requested review from a team as code owners February 24, 2025 19:56
@dibarbet dibarbet merged commit 772e41b into dotnet:main Feb 24, 2025
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants