granite-rust/library/core/src
bors dcbd5f5134 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:
![The tracing profile](https://user-images.githubusercontent.com/48135649/170883650-23876e7b-3fd1-4e8b-9001-47672e06d914.svg)
2022-05-31 09:34:00 +00:00
..
alloc Rollup merge of #97034 - fee1-dead-contrib:layout-hash, r=dtolnay 2022-05-28 08:45:51 +02:00
array Stabilize core::array::from_fn 2022-05-20 11:04:13 -03:00
async_iter Add Stream alias for AsyncIterator 2022-03-15 20:59:13 -07:00
char No need to check the assert all the time. 2022-04-16 19:30:23 +01:00
convert Warn on unused doc(hidden) on trait impl items 2022-05-08 22:53:14 +02:00
ffi Finish bumping stage0 2022-05-27 07:36:17 -04:00
fmt Auto merge of #94530 - tmiasko:alignment-impls, r=dtolnay 2022-05-21 19:49:51 +00:00
future Rename IntoFuture::Future to IntoFuture::IntoFuture 2022-03-10 20:51:52 +01:00
hash Reword safety comments in core/hash/sip.rs 2022-05-30 01:06:08 -07:00
iter libcore: Add iter::from_generator which is like iter::from_fn, but for coroutines instead of functions 2022-05-27 01:51:31 +03:00
macros Make write/print macros eagerly drop temporaries 2022-05-22 16:11:08 -07:00
mem Implement Hash for core::alloc::Layout 2022-05-14 14:44:42 +10:00
num Rollup merge of #96129 - mattheww:2022-04_float_rounding, r=Dylan-DPC 2022-05-23 15:11:02 +02:00
ops Finish bumping stage0 2022-05-27 07:36:17 -04:00
panic Auto merge of #96348 - overdrivenpotato:inline-location, r=the8472 2022-04-30 16:33:12 +00:00
prelude Create 2024 edition 2022-04-02 02:45:49 -04:00
ptr Update mut_ptr.rs 2022-05-31 00:41:39 +02:00
slice Remove memset alias from fill_with. 2022-05-30 16:26:00 -07:00
str Rollup merge of #97190 - SylvainDe:master, r=Dylan-DPC 2022-05-21 11:39:48 +02:00
sync Rollup merge of #97026 - Nilstrieb:make-atomic-debug-relaxed, r=scottmcm 2022-05-25 07:31:42 +02:00
task Rollup merge of #93966 - rkuhn:patch-1, r=tmandry 2022-05-25 07:08:41 +09:00
unicode Add unicode fast path to is_printable 2022-05-31 10:51:35 +02:00
any.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
ascii.rs Inline <EscapeDefault as Iterator>::next 2022-03-10 15:35:22 +01:00
asserting.rs [RFC 2011] Library code 2022-05-22 07:18:32 -03:00
bool.rs Stabilize bool::then_some 2022-05-04 13:22:08 +02:00
borrow.rs Make Borrow and BorrowMut impls const 2021-12-04 21:57:39 +09:00
cell.rs Stabilize cell_filter_map 2022-05-23 18:04:53 +09:00
clone.rs Remove #[default..] and add #[const_trait] 2022-05-30 08:52:24 +00:00
cmp.rs Remove #[default..] and add #[const_trait] 2022-05-30 08:52:24 +00:00
default.rs Add documentation 2022-04-07 20:03:24 -04:00
hint.rs Clarify unreachable_unchecked docs 2022-05-06 09:34:41 +02:00
internal_macros.rs ignore a doctest for the non-exported macro 2022-05-03 18:33:56 +09:00
intrinsics.rs Update intrinsics.rs 2022-05-30 22:38:29 +00:00
lazy.rs Rollup merge of #89869 - kpreid:from-doc, r=yaahc 2022-02-17 06:29:57 +01:00
lib.rs [RFC 2011] Library code 2022-05-22 07:18:32 -03:00
marker.rs trivial cfg(bootstrap) changes 2022-04-05 23:18:40 +02:00
option.rs Rollup merge of #96033 - yaahc:expect-elaboration, r=scottmcm 2022-05-26 20:59:40 +02:00
panic.rs resolve the conflict in compiler/rustc_session/src/parse.rs 2022-03-16 20:12:30 +08:00
panicking.rs trivial cfg(bootstrap) changes 2022-04-05 23:18:40 +02:00
pin.rs Fix formatting error in pin.rs docs 2022-04-10 12:41:31 -07:00
primitive.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
primitive_docs.rs Rollup merge of #97321 - RalfJung:int-to-fnptr, r=Dylan-DPC 2022-05-24 15:58:26 +02:00
result.rs Rollup merge of #96033 - yaahc:expect-elaboration, r=scottmcm 2022-05-26 20:59:40 +02:00
time.rs Rollup merge of #96051 - newpavlov:duration_rounding, r=nagisa,joshtriplett 2022-05-26 20:15:07 -07:00
tuple.rs Implement tuples using recursion 2022-04-12 16:23:36 -03:00
unit.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00