diff options
| author | bors <bors@rust-lang.org> | 2022-05-31 09:34:00 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-05-31 09:34:00 +0000 |
| commit | dcbd5f5134e396353207f1f79e50794b83cee7d2 (patch) | |
| tree | ad8a495092c69694241f4b3de984d52ad0eb79bf /compiler/rustc_codegen_llvm/src/llvm_util.rs | |
| parent | d35d972e6974d40d30362344ea619a5b560aae20 (diff) | |
| parent | 3358a41acbcb82daf3cd71197b2a053152a9a376 (diff) | |
| download | rust-dcbd5f5134e396353207f1f79e50794b83cee7d2.tar.gz rust-dcbd5f5134e396353207f1f79e50794b83cee7d2.zip | |
Auto merge of #97526 - Nilstrieb:unicode-is-printable-fastpath, r=joshtriplett
Add unicode fast path to `is_printable` Before, it would enter the full expensive check even for normal ascii characters. Now, it skips the check for the ascii characters in `32..127`. This range was checked manually from the current behavior. I ran the `tracing` test suite in miri, and it was really slow. I looked at a profile, and miri spent most of the time in `core::char::methods::escape_debug_ext`, where half of that was dominated by `core::unicode::printable::is_printable`. So I optimized it here. The tracing profile: 
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm_util.rs')
0 files changed, 0 insertions, 0 deletions
