MUXC's XamlMedataProvider::GetXamlTypeByFullName() causes serious increase in app startup time when the number of xaml controls increase #8281
Labels
area-Performance
area-XamlCompiler
bug
Something isn't working
product-winui3
WinUI 3 issues
team-Controls
Issue for the Controls team
team-Markup
Issue for the Markup team
Milestone
Describe the bug
Adding a WinUI library which has a lot of controls (like "CommunityToolkit.WinUI.UI.Controls" Version "7.1.2" ) increases our app startup time to a massive 2 minutes 20 seconds!
Some initial investigation on the etl traces shows the methods GetXamlTypeByFullName taking 112 seconds and GetXamlType taking 17 seconds!
At first glance it seems like there are a lot of redundant recursive calls happening (looking for the same providers multiple times and doing a lot of linear scans in each of those recursive calls. An optimized version of this method can probably give a big perf win.
I would be willing to share etl traces from my machine for further investigation.
Steps to reproduce the bug
Expected behavior
App startup is fast
Actual behavior
App startup is in minutes (mostly spent in xaml parsing)
Screenshots
No response
NuGet package version
WinUI 3 - Windows App SDK 1.2.4: 1.2.230217.4
Windows version
Windows Insider Build (xxxxx)
Additional context
No response
The text was updated successfully, but these errors were encountered: