rust/library/core/src/str
The8472 b6278664af optimize utf8_is_cont_byte() to speed up str.chars().count()
it shows consistent improvements across several x86_64 feature levels

```
old, -O2, x86-64
test str::str_char_count_emoji                                  ... bench:       1,924 ns/iter (+/- 26)
test str::str_char_count_lorem                                  ... bench:         879 ns/iter (+/- 12)
test str::str_char_count_lorem_short                            ... bench:           5 ns/iter (+/- 0)

new, -O2, x86-64
test str::str_char_count_emoji                                  ... bench:       1,878 ns/iter (+/- 21)
test str::str_char_count_lorem                                  ... bench:         851 ns/iter (+/- 11)
test str::str_char_count_lorem_short                            ... bench:           4 ns/iter (+/- 0)

old, -O2, x86-64-v2
test str::str_char_count_emoji                                  ... bench:       1,477 ns/iter (+/- 46)
test str::str_char_count_lorem                                  ... bench:         675 ns/iter (+/- 15)
test str::str_char_count_lorem_short                            ... bench:           5 ns/iter (+/- 0)

new, -O2, x86-64-v2
test str::str_char_count_emoji                                  ... bench:       1,323 ns/iter (+/- 39)
test str::str_char_count_lorem                                  ... bench:         593 ns/iter (+/- 18)
test str::str_char_count_lorem_short                            ... bench:           4 ns/iter (+/- 0)

old, -O2, x86-64-v3
test str::str_char_count_emoji                                  ... bench:         748 ns/iter (+/- 7)
test str::str_char_count_lorem                                  ... bench:         348 ns/iter (+/- 2)
test str::str_char_count_lorem_short                            ... bench:           5 ns/iter (+/- 0)

new, -O2, x86-64-v3
test str::str_char_count_emoji                                  ... bench:         650 ns/iter (+/- 4)
test str::str_char_count_lorem                                  ... bench:         301 ns/iter (+/- 1)
test str::str_char_count_lorem_short                            ... bench:           5 ns/iter (+/- 0)
```
2021-09-11 00:25:41 +02:00
..
converts.rs Bump stage0 compiler to 1.56 2021-09-08 20:51:05 -04:00
error.rs Use #[non_exhaustive] where appropriate 2021-06-24 04:16:11 -04:00
iter.rs Add TrustedRandomAccessNoCoerce supertrait without requirements or guarantees about subtype coercions 2021-07-28 14:33:35 +02:00
lossy.rs Move utf-8 validating helpers to new mod 2020-09-26 05:20:53 +00:00
mod.rs Bump stage0 compiler to 1.56 2021-09-08 20:51:05 -04:00
pattern.rs Fix #85462 by adding a marker flag 2021-07-11 17:45:12 +02:00
traits.rs Use #[non_exhaustive] where appropriate 2021-06-24 04:16:11 -04:00
validations.rs optimize utf8_is_cont_byte() to speed up str.chars().count() 2021-09-11 00:25:41 +02:00