Size regression in Blazor WASM apps
See original GitHub issueLooking at https://aka.ms/dotnetperfstatus, there is a 140KB size regression in the default Blazor WASM app size between the following commits:
https://github.com/dotnet/runtime/compare/6b8326997...06228c1087
SOD - New Blazor Template - Publish
SOD - New Blazor Template - Publish - AOT
We should investigate what change caused this size regression and if there is anything that can be done.
From looking at the charts, some of it comes from System.Private.CoreLib:
Before
After
But the biggest file that added here is System.Linq.Expressions.dll
. It isn’t in the Before
, but in the After
it is over 100KB itself:
After
Maybe a new ASP.NET change now brings in Linq.Expressions by default? cc @SteveSandersonMS @captainsafia
Issue Analytics
- State:
- Created 2 years ago
- Comments:11 (11 by maintainers)
Top Results From Across the Web
ASP.NET Core Blazor performance best practices
Trimming unused assemblies from a Blazor WebAssembly app reduces the app's size by removing unused code in the app's binaries. For more ...
Read more >Guidance required on Blazor WASM performance issues #3643
If you really care the loading performance, I recommend you use Blazor-Server. Download size is significantly smaller than a Blazor WebAssembly ...
Read more >.NET 8 Preview 2: QuickGrid, WebAssembly Boost for ...
Blazor QuickGrid is "built to be a simple and convenient way to display your data, while still providing powerful features like sorting, ...
Read more >Blazor United Prototype (.NET 8) : r/dotnet
Blazor doesn't optimize the download size during development so that your development workflow stays quick and interative. When you publish the ...
Read more >Building A Production Ready Blazor WASM App - YouTube
You've heard of Blazor WASM and you are excited. But how do we make your application production ready? Steve will talk about writing ......
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Yep, great - thanks. Rolling this change back does feel right. Maybe activation-by-default could come back in the future if the underlying implementation is updated, but it’s not a big loss to tell customers they can do this themselves in user code.
It’s really great that we’re able to detect this kind of thing systematically. Thanks for letting us know, @eerhardt!