-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Remove Cased
Unicode table
#146180
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
base: master
Are you sure you want to change the base?
Remove Cased
Unicode table
#146180
Conversation
`Cased` is a derived property - it is the union of the `Lowercase` property, the `Uppercase` property, and the `Titlecase_Letter` general categories. We already have lookup tables for `Lowercase` and `Uppercase`, and `Titlecase_Letter` is very small. So instead of duplicating a lookup table for `Cased`, just test each of those properties in turn. This probably will be slower than the old approach, but it is not a public API: it is only used in `string::to_lower` when deciding when a Greek "sigma" should be mapped to `ς` or to `σ`. This is a very rare case, so should not be performance sensitive.
If you want to modify |
Cased
tableCased
Unicode table
@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.
Remove `Cased` Unicode table
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (abd6680): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowBenchmarking 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. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @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 0.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 2.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 466.287s -> 464.864s (-0.31%) |
Split off from #145219
Cased
is a derived property - it is the union of theLowercase
property, theUppercase
property, and theTitlecase_Letter
general categories. We already have lookup tables forLowercase
andUppercase
, andTitlecase_Letter
is very small. So instead of duplicating a lookup table forCased
, just test each of those properties in turn.This probably will be slower than the old approach, but it is not a public API: it is only used in
string::to_lower
when deciding when a Greek "sigma" should be mapped toς
or toσ
. This is a very rare case, so should not be performance sensitive.