Misc performance improvements by MrJul · Pull Request #143 · kekekeks/XamlX (original) (raw)
Navigation Menu
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Appearance settings
Merged
merged 8 commits into
May 21, 2026
Conversation
This PR aims to improve several hot paths clearly visible in performance snapshots (with #142 already applied):
- Improve
Visit()to avoid making an interface check onISkipXamlAstNode. - Don't call
IXamlType.FullNameto check types: even if it's cached after first use, we don't need it at all, and it was basically computed for all encountered types. Comparisons can be made againstName+Namespaceinstead. GetMethods/GetFields/GetInterfaces/etc.methods are no longer using recursion, avoiding the creation of quadratic iterators.TypeReferenceEqualityComparer.AreEqual(), has fewer branches.
MrJul mentioned this pull request
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})