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

[release/8.0-rc1] Improve filtering of candidate binding invocations in config binder gen #90746

Merged
merged 5 commits into from
Aug 17, 2023

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Aug 17, 2023

Backport of #90619 to release/8.0-rc1

/cc @layomia

Customer impact

Customer may observe performance issues when editing large solutions with the generator enabled. This source generator uses a new activation pattern based on detection of method invocations. Review found performance refinements that can be made that we'd like to address in RC1 so that customers can use our final algorithm and validate that the performance is satisfactory.

Testing

Automated and manual tests provide coverage of the modified codepath. The average time spent in the generator goes down from ~225 ms to 102 ms, testing with Roslyn repo as a "large" solution. It's now on par with other generators. [Benchmark results].

Risk

Low & isolated to the modified off-by-default generator. We can't rule out the possibility of excluding actual binding invocations, but it shouldn't happen because every invocation should satisfy the updated constraints. Doing so would surface as a linker warning (and hopefully user feedback as a bug filed for us to fix).

@ghost
Copy link

ghost commented Aug 17, 2023

Tagging subscribers to this area: @dotnet/area-extensions-configuration
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #90619 to release/8.0-rc1

/cc @layomia

Customer Impact

Testing

Risk

IMPORTANT: If this backport is for a servicing release, please verify that:

  • The PR target branch is release/X.0-staging, not release/X.0.

  • If the change touches code that ships in a NuGet package, you have added the necessary package authoring and gotten it explicitly reviewed.

Author: github-actions[bot]
Assignees: -
Labels:

area-Extensions-Configuration

Milestone: -

@tarekgh tarekgh added this to the 8.0.0 milestone Aug 17, 2023
@tarekgh tarekgh added the Servicing-consider Issue for next servicing release review label Aug 17, 2023
@carlossanlop
Copy link
Member

CI is good. I'm just waiting for Tactics approval, I saw the email sent by @ericstj.

@ericstj ericstj added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Aug 17, 2023
@ericstj
Copy link
Member

ericstj commented Aug 17, 2023

Approved over mail.

@carlossanlop carlossanlop merged commit 702d02c into release/8.0-rc1 Aug 17, 2023
@carlossanlop carlossanlop deleted the backport/pr-90619-to-release/8.0-rc1 branch August 17, 2023 22:59
@ghost ghost locked as resolved and limited conversation to collaborators Sep 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants