]> git.proxmox.com Git - rustc.git/blobdiff - vendor/anstream/benches/wincon.rs
Update upstream source from tag 'upstream/1.70.0+dfsg1'
[rustc.git] / vendor / anstream / benches / wincon.rs
diff --git a/vendor/anstream/benches/wincon.rs b/vendor/anstream/benches/wincon.rs
new file mode 100644 (file)
index 0000000..54e1f80
--- /dev/null
@@ -0,0 +1,26 @@
+use criterion::{black_box, Criterion};
+
+fn wincon(c: &mut Criterion) {
+    for (name, content) in [
+        ("demo.vte", &include_bytes!("../tests/demo.vte")[..]),
+        ("rg_help.vte", &include_bytes!("../tests/rg_help.vte")[..]),
+        ("rg_linus.vte", &include_bytes!("../tests/rg_linus.vte")[..]),
+        (
+            "state_changes",
+            &b"\x1b]2;X\x1b\\ \x1b[0m \x1bP0@\x1b\\"[..],
+        ),
+    ] {
+        let mut group = c.benchmark_group(name);
+        group.bench_function("wincon_bytes", |b| {
+            b.iter(|| {
+                let mut state = anstream::adapter::WinconBytes::new();
+                let stripped = state.extract_next(content).collect::<Vec<_>>();
+
+                black_box(stripped)
+            })
+        });
+    }
+}
+
+criterion::criterion_group!(benches, wincon);
+criterion::criterion_main!(benches);