-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Warn if an already loaded package is attempted to be loaded from a di…
…fferent path (#44329)
- Loading branch information
1 parent
52ff558
commit b51b809
Showing
1 changed file
with
41 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
b51b809
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.
Executing the daily package evaluation, I will reply here when finished:
@nanosoldier
runtests(isdaily = true)
b51b809
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.
The package evaluation job you requested has completed - no new issues were detected.
The full report is available.
b51b809
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.
@nanosoldier
runbenchmarks(ALL, isdaily = true)
b51b809
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.
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here.
b51b809
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.
Are the sort changes expected (@LilithHafner)?
sort | 1.12 (20%) | 0.08 (1%) ✅
["sort", "issues", "partialsort(rand(10_000), 10_000)"] | 1.43 (20%) ❌ | 0.54 (1%) ✅
["sort", "issues", "sortslices sorting very short slices"] | 2.36 (20%) ❌ | 1.00 (1%)
b51b809
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.
I expect a change in partialsort performance due to #52494, and I expect it to be an improvement. Reproducing locally using Charmarks, I find an improvement:
Old
New
With partialsort, using the minimum runtime with a large selection of rng seeds is not representative, and it is significantly less representative for the old algorithm than the new algorithm, leading to under reported runtimes for the old algorithm. With partial scratch quick sort—and ordinary partial quick sort—if the first partition is lucky then it only takes a single pass through the whole data set and all subsequent passes cover only a very small fraction, while on average it takes 1 full pass, 1 half pass, 1 quarter pass, etc. In contrast, BracketedSort uses a random sample to pick a really good first (and only) pivot (called a signpost) and always (>99% of the time) only needs one pass. This is reflected empirically with a closer mean/median and min time
An alternative, and more concerning explanation is that I optimized Bracketed Sort on my hardware and it doesn't generalize to the nanosoldier machines while the old algorithm does generalize. That would also explain why I can't reproduce the regression locally. Someone with different hardware would need to try to reproduce this locally using the median or mean metric to test that hypothesis.
Sortslices should not have changed. The benchmark looks a bit noisy on my machine. It is usually pretty consistent, but occasionally has extreme outliers.
I suspect the extreme outliers are do to high memory pressure elsewhere in the system forcing swap space usage.
Conclusion
b51b809
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.
The system has 32 GB of dedicate RAM for the test. But sometimes benchmarks are just noisy anyways.