Skip to content
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

Improve source generation performance #483

Merged
merged 7 commits into from
Jan 9, 2019
Merged

Conversation

jeromelaban
Copy link
Member

PR Type

What kind of change does this PR introduce?

  • Refactoring

What is the new behavior?

Xaml Source generation is performing faster, as more type resolutions are cached and less strings are used to interact with the Roslyn API. The update of the source generation tasks package also improves the incremental build performance using the new host server on windows.

PR Checklist

Please check if your PR fulfills the following requirements:

  • Tested code with current supported SDKs
  • Docs have been added/updated which fit documentation template. (for bug fixes / features)
  • Tests for the changes have been added (for bug fixes / features) (if applicable)
  • Contains NO breaking changes
  • Updated the Release Notes
  • Associated with an issue (GitHub or internal)

Internal Issue (If applicable):
https://nventive.visualstudio.com/DefaultCollection/Umbrella/_workitems/edit/143604

@jeromelaban jeromelaban force-pushed the dev/jela/sourgen-update branch 2 times, most recently from 2c76aab to be1ba03 Compare January 8, 2019 19:10
- Avoid using strings for types comparisons in IsImplementingInterface and IsCollectionOrListType
- Simplify FindEventType, add more lookups caching for type members
- Add more caching for FindType
Improves generation speed.
@jeromelaban jeromelaban merged commit 9431836 into master Jan 9, 2019
@jeromelaban jeromelaban deleted the dev/jela/sourgen-update branch January 9, 2019 14:36
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