Don't use incremental disk-cache for query predicates_of#153521
Don't use incremental disk-cache for query predicates_of#153521rust-bors[bot] merged 1 commit intorust-lang:mainfrom
predicates_of#153521Conversation
|
@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.
[EXPERIMENT] Perf experiments for query `predicates_of`
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (3e7e442): 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.4%, secondary 2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.7%, secondary -4.4%)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: 482.9s -> 487.171s (0.88%) |
This query is a relatively modest wrapper around a few underlying queries that are themselves cached to disk. Removing the additional layer of disk caching appears to be a significant perf win. This query also appears to be the only query that uses a crate-local `cache_on_disk_if` condition, without also using the `separate_provide_extern` modifier.
predicates_ofpredicates_of
|
r? nnethercote (or compiler) |
|
lol @bors r+ r+ r+ |
This comment has been minimized.
This comment has been minimized.
Don't use incremental disk-cache for query `predicates_of` The `predicates_of` query is a relatively modest wrapper around a few underlying queries that are themselves cached to disk. Removing the additional layer of disk caching appears to be a significant perf win. This query also appears to be the only query that uses a crate-local `cache_on_disk_if` condition, without also using the `separate_provide_extern` modifier. - Discovered via #153487 (comment)
|
@bors yield |
|
Auto build was cancelled. Cancelled workflows: The next pull request likely to be tested is #153387. |
This comment has been minimized.
This comment has been minimized.
Don't use incremental disk-cache for query `predicates_of` The `predicates_of` query is a relatively modest wrapper around a few underlying queries that are themselves cached to disk. Removing the additional layer of disk caching appears to be a significant perf win. This query also appears to be the only query that uses a crate-local `cache_on_disk_if` condition, without also using the `separate_provide_extern` modifier. - Discovered via #153487 (comment)
|
💔 Test for 1aa200f failed: CI. Failed job:
|
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
|
“Cancelled” for no reason; not sure what happened here. @bors retry |
|
Scheduling: No reason to do back-to-back tiny rollups before giving this another chance. @bors p=5 |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing e370b60 (parent) -> 052b9c2 (this PR) Test differencesShow 168 test diffs168 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 052b9c23daccef254010e43d6c4d0a5459caec5b --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (052b9c2): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression 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 -0.2%, secondary 3.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.6%, secondary -4.0%)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: 485.77s -> 477.657s (-1.67%) |
|
I wonder if we could automate searching for similar "pure overhead" queries. What's the defining condition? A query cached on disk for which most of its inputs are already cached on disk? |
|
In this case, this was the only example of a query that only disk-caches for local keys, but doesn’t use |
View all comments
The
predicates_ofquery is a relatively modest wrapper around a few underlying queries that are themselves cached to disk. Removing the additional layer of disk caching appears to be a significant perf win.This query also appears to be the only query that uses a crate-local
cache_on_disk_ifcondition, without also using theseparate_provide_externmodifier.cache_on_disk_ifquery modifier to justcache_on_disk#153487 (comment)