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

Backport #78136 to .NET 7 #84936

Merged

Conversation

jkoritzinsky
Copy link
Member

main PR #78136

Description

The JSImportGenerator and JSExportGenerator are causing VS performance issues due to not using more efficient APIs that Roslyn introduced in VS 17.4.

Customer Impact

Visual Studio experiences large amounts of allocations that show up in VS performance traces. #78136 (comment)

Regression

This is not a regression.

Testing

This change has been in .NET 8 for months, and very similar changes have been applied to other similar generators in .NET 7 since before release.

Risk

Low risk. This change is very mechanical and follows an established pattern to convert to using the new API and has been working in main for months.

Package authoring signed off?

N/A

IMPORTANT: If this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.

* Use ForAttributeWithMetadataName instead of CreateSyntaxProvider

* Remove unused code

* Update export generator too
@dotnet-issue-labeler

This comment was marked as outdated.

@jkoritzinsky jkoritzinsky changed the base branch from main to release/7.0-staging April 17, 2023 18:12
Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved. we will take for consideration in 7.0.x. please get a code review from the js interop team.

@rbhanda rbhanda added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Apr 18, 2023
@rbhanda rbhanda modified the milestones: 7.0.x, 7.0.7 Apr 18, 2023
@jkoritzinsky jkoritzinsky merged commit 6e3c5c7 into dotnet:release/7.0-staging Apr 21, 2023
@jkoritzinsky jkoritzinsky deleted the backport/78136/7.0 branch April 21, 2023 18:43
sharwell added a commit to sharwell/roslyn that referenced this pull request Apr 24, 2023
@ghost ghost locked as resolved and limited conversation to collaborators May 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Runtime.InteropServices.JavaScript Servicing-approved Approved for servicing release source-generator Indicates an issue with a source generator feature tenet-performance Performance related issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants