-
Notifications
You must be signed in to change notification settings - Fork 13.9k
Revert "unicode_data refactors RUST-147622" #148436
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
Conversation
|
If you want to modify |
This PR reverts RUST-147622 for several reasons: 1. The RUST-147622 PR would format the generated core library code using an arbitrary `rustfmt` picked up from `PATH`, which will cause hard-to-debug failures when the `rustfmt` used to format the generated unicode data code versus the `rustfmt` used to format the in-tree library code. 2. Previously, the `unicode-table-generator` tests were not run under CI as part of `coretests`, and since for `x86_64-gnu-aux` job we run library `coretests` with `miri`, the generated tests unfortunately caused an unacceptably large Merge CI time regression from ~2 hours to ~3.5 hours, making it the slowest Merge CI job (and thus the new bottleneck). 3. This PR also has an unintended effect of causing a diagnostic regression (RUST-148387), though that's mostly an edge case not properly handled by `rustc` diagnostics. Given that these are three distinct causes with non-trivial fixes, I'm proposing to revert this PR to return us to baseline. This is not prejudice against relanding the changes with these issues addressed, but to alleviate time pressure to address these non-trivial issues.
1a4b577 to
4aeb297
Compare
|
I think it's quite simple to fix these issues:
How time-critical is this? I can whip up a PR for the two issues today. |
|
wrt 3. I'm concerned that an "NFC" refactor caused a change in behavior, that's the more alarming part than the diagnostics bug itself |
|
The fact that this is adding ~30 minutes to every successful merge is IMO a good reason to want to revert the changes as soon as possible, without waiting for a fix-forward. If it's easy to fix the problems, it's just as easy to fix them in a PR that reapplies the changes. |
|
Oh, about the second issue: the tests are marked as |
|
For point 2, shouldn't |
rust/library/coretests/tests/unicode.rs Lines 73 to 78 in f2bae99
|
|
Forgot to annotate |
|
Let's revert this quickly, to undo the impact on CI times. Discussion of potential fixes and remaining concerns can happen on the reapply PR. @bors r+ p=6 |
|
Failure in rollup would be awkward, and it would be nice to see clean stats from the revert, so: @bors rollup=never |
|
Fixes are up at #148436. |
|
☀️ Test successful - checks-actions |
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 35ebdf9 (parent) -> f5711a5 (this PR) Test differencesShow 31 test diffsStage 1
Stage 2
Additionally, 2 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard f5711a55f5d5e2f942057d0f6d648dd2d8b2c37b --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 (f5711a5): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@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.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeResults (primary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 474.155s -> 474.205s (0.01%) |
|
Performance-wish it's a wash, and this is a revert anyway. @rustbot label: +perf-regression-triaged |
This PR reverts RUST-147622 for several reasons:
rustfmtpicked up fromPATH, which will cause hard-to-debug failures when therustfmtused to format the generated unicode data code versus therustfmtused to format the in-tree library code produce incompatible formatting.unicode-table-generatortests were not run under CI as part ofcoretests, and since forx86_64-gnu-auxjob we run librarycoretestswithmiri, the generated tests unfortunately caused an unacceptably large Merge CI time regression from ~2 hours to ~3.5 hours, making it the slowest Merge CI job (and thus the new bottleneck).rustcdiagnostics.Given that these are three distinct causes with non-trivial fixes, I'm proposing to revert this PR to return us to baseline. This is not prejudice against relanding the changes with these issues addressed, but to alleviate time pressure to address these non-trivial issues.
FYI @Kmeakin @joboet (PR author/review). Note that these issues are very subtle, so you cannot be reasonably expected to know about them beforehand.
This was discussed in: