try_execute_query tweaks#153766
Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
`try_execute_query` tweaks
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (6917c78): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -1.7%, secondary -0.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -4.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 480.488s -> 479.599s (-0.19%) |
|
Perf is neutral, should be good to go. |
|
@bors r+ |
|
@bors rollup=maybe |
|
I have some nits with
|
…ks, r=cjgillot `try_execute_query` tweaks Details in individual commits. r? @cjgillot
|
@bors r- I can fix those things now, that's easy. Would |
|
This pull request was unapproved. This PR was contained in a rollup (#153802), which was unapproved. |
We compute `key_hash` in `try_execute_query`, so we can just pass the value in.
|
Oh, I didn't realize this was in a rollup... |
`execute_job` has a single call site in `try_execute_query`. This commit inlines and removes `execute_job`, but also puts the part that checks feedable results in its own separate function, `check_feedable`, because it's a nicely separate piece of logic. The big win here is that all the code dealing with the `QueryState` is now together in `try_execute_query`: get the lock, do the lookup, drop the lock, create the job guard, and complete the job guard. Previously these steps were split across two functions which I found hard to follow. This commit purely moves code around, there are no other changes.
The previous commit inlined `execute_job` without changing any of its code. This commit does a few tiny follow-up changes.
f70fb2c to
f0c2760
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
Rollup of 5 pull requests Successful merges: - #152258 (fixed VecDeque::splice() not filling the buffer correctly when resizing the buffer on start = end range) - #153691 (Miscellaneous tweaks) - #153766 (`try_execute_query` tweaks) - #153188 (implementation of `-Z min-recursion-limit`) - #153428 (Avoid duplicated query modifier comments.)
Details in individual commits.
r? @cjgillot