about summary refs log tree commit diff
path: root/library/core/benches/str/debug.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-05-24 12:23:00 +0000
committerbors <bors@rust-lang.org>2024-05-24 12:23:00 +0000
commit213ad10c8f0fc275648552366275dc4e07f97462 (patch)
treef8fd81abfddb7485310347dc95022726627cc10e /library/core/benches/str/debug.rs
parent464987730ab36e3456ba57c53965372989382deb (diff)
parent004100c222638c980b6509aba0ed4990181fa5dc (diff)
downloadrust-213ad10c8f0fc275648552366275dc4e07f97462.tar.gz
rust-213ad10c8f0fc275648552366275dc4e07f97462.zip
Auto merge of #121150 - Swatinem:debug-ascii-str, r=joboet
Add a fast-path to `Debug` ASCII `&str`

Instead of going through the `EscapeDebug` machinery, we can just skip over ASCII chars that don’t need any escaping.

---

This is an alternative / a companion to https://github.com/rust-lang/rust/pull/121138.

The other PR is adding the fast path deep within `EscapeDebug`, whereas this skips as early as possible.
Diffstat (limited to 'library/core/benches/str/debug.rs')
-rw-r--r--library/core/benches/str/debug.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/library/core/benches/str/debug.rs b/library/core/benches/str/debug.rs
index 7c72228f0fb..cb91169eed8 100644
--- a/library/core/benches/str/debug.rs
+++ b/library/core/benches/str/debug.rs
@@ -44,7 +44,7 @@ fn ascii_escapes(b: &mut Bencher) {
     assert_fmt(
         s,
         r#""some\tmore\tascii\ttext\nthis time with some \"escapes\", also 64 byte""#,
-        21,
+        15,
     );
     b.iter(|| {
         black_box(format!("{:?}", black_box(s)));
@@ -72,7 +72,7 @@ fn mostly_unicode(b: &mut Bencher) {
 #[bench]
 fn mixed(b: &mut Bencher) {
     let s = "\"❤️\"\n\"hűha ez betű\"\n\"кириллических букв\".";
-    assert_fmt(s, r#""\"❤\u{fe0f}\"\n\"hűha ez betű\"\n\"кириллических букв\".""#, 36);
+    assert_fmt(s, r#""\"❤\u{fe0f}\"\n\"hűha ez betű\"\n\"кириллических букв\".""#, 21);
     b.iter(|| {
         black_box(format!("{:?}", black_box(s)));
     });