-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Hard-code char::is_control
#145479
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
Hard-code char::is_control
#145479
Conversation
According to https://www.unicode.org/policies/stability_policy.html#Property_Value, the set of codepoints in `Cc` will never change. So we can hard-code the patterns to match against instead of using a table.
library/core/src/unicode/unicode_data.rs
is generated by
src/tools/unicode-table-generator
via ./x run src/tools/unicode-table-generator
. If you want to modify unicode_data.rs
,
please modify the tool then regenerate the library source file with the tool
instead of editing the library source file manually.
Fix `unicode_data.rs` mention message The [previous message](rust-lang#145479 (comment)) was weirdly formatted, let's render it properly.
Fix `unicode_data.rs` mention message The [previous message](rust-lang#145479 (comment)) was weirdly formatted, let's render it properly.
Fix `unicode_data.rs` mention message The [previous message](rust-lang#145479 (comment)) was weirdly formatted, let's render it properly.
Fix `unicode_data.rs` mention message The [previous message](rust-lang#145479 (comment)) was weirdly formatted, let's render it properly.
Fix `unicode_data.rs` mention message The [previous message](rust-lang#145479 (comment)) was weirdly formatted, let's render it properly.
Fix `unicode_data.rs` mention message The [previous message](rust-lang#145479 (comment)) was weirdly formatted, let's render it properly.
Fix `unicode_data.rs` mention message The [previous message](rust-lang#145479 (comment)) was weirdly formatted, let's render it properly.
Rollup merge of #145486 - Urgau:unicode-mention, r=lqd Fix `unicode_data.rs` mention message The [previous message](#145479 (comment)) was weirdly formatted, let's render it properly.
Fix `unicode_data.rs` mention message The [previous message](rust-lang/rust#145479 (comment)) was weirdly formatted, let's render it properly.
Fix `unicode_data.rs` mention message The [previous message](rust-lang/rust#145479 (comment)) was weirdly formatted, let's render it properly.
Great!
@bors r+
r? joboet
☀️ Test successful - checks-actions
Approved by: joboet
Pushing 0f50696 to master...
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 e95db59 (parent) -> 0f50696 (this PR)
Test differences
Show 58 test diffs
58 doctest diffs were found. These are ignored, as they are noisy.
Test dashboard
Run
cargo run --manifest-path src/ci/citool/Cargo.toml -- \ test-dashboard 0f506968010fa987b0d134034d0ccab9eecd9120 --output-dir test-dashboard
And then open test-dashboard/index.html
in your browser to see an overview of all executed tests.
Job duration changes
- aarch64-apple: 7528.2s -> 5051.3s (-32.9%)
- dist-aarch64-apple: 8111.7s -> 5773.8s (-28.8%)
- dist-aarch64-msvc: 5427.7s -> 5862.5s (8.0%)
- x86_64-gnu-debug: 7204.7s -> 7693.4s (6.8%)
- dist-x86_64-apple: 6813.6s -> 6360.2s (-6.7%)
- x86_64-rust-for-linux: 2564.9s -> 2732.5s (6.5%)
- x86_64-gnu-distcheck: 5544.2s -> 5199.9s (-6.2%)
- dist-sparcv9-solaris: 4958.9s -> 5245.7s (5.8%)
- dist-apple-various: 3607.2s -> 3413.9s (-5.4%)
- dist-x86_64-illumos: 5963.1s -> 6279.3s (5.3%)
How to interpret the job duration changes?
Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.
Finished benchmarking commit (0f50696): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeResults (primary -0.0%, secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 464.738s -> 465.405s (0.14%) |
Split off from #145219
According to
https://www.unicode.org/policies/stability_policy.html#Property_Value, the set of codepoints in
Cc
will never change. So we can hard-code the patterns to match against instead of using a table.This doesn't change the generated assembly, since the lookup table is small enough that LLVM is able to inline the whole search. But this does reduce the chance of regressions if LLVM's heuristics change in the future, and means less generated Rust code checked in to
unicode-data.rs
.