-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Fix some low-hanging request evaluator performance fruit #29088
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
Fix some low-hanging request evaluator performance fruit #29088
Conversation
…ld-request-dependency-graph This adds a measurable amount of runtime overhead, but it's only needed for debugging.
This improves performance in the common case where the result has already been cached, because the cycle check constructs an AnyRequest existential, which is expensive.
ba03f78
to
1ed5453
Compare
@swift-ci Please smoke test |
@swift-ci Please test source compatibility |
@DougGregor if this PR looks OK, please also approve the 5.2 cherry-pick -- it should be very low risk: #29089 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Just to see wall time and heap traffic stuff - don't let this block anything. @swift-ci please test compiler performance |
We've added a lot of new requests lately and converted more of the declaration checker to use requests. This has led to an increase in per-request overhead. This PR addresses some of this overhead: