about summary refs log tree commit diff
path: root/library/coretests/benches/tuple.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/coretests/benches/tuple.rs')
-rw-r--r--library/coretests/benches/tuple.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/library/coretests/benches/tuple.rs b/library/coretests/benches/tuple.rs
new file mode 100644
index 00000000000..dcda7c641aa
--- /dev/null
+++ b/library/coretests/benches/tuple.rs
@@ -0,0 +1,22 @@
+use rand::prelude::*;
+use test::{Bencher, black_box};
+
+#[bench]
+fn bench_tuple_comparison(b: &mut Bencher) {
+    let mut rng = black_box(super::bench_rng());
+
+    let data = black_box([
+        ("core::iter::adapters::Chain", 123_usize),
+        ("core::iter::adapters::Clone", 456_usize),
+        ("core::iter::adapters::Copie", 789_usize),
+        ("core::iter::adapters::Cycle", 123_usize),
+        ("core::iter::adapters::Flatt", 456_usize),
+        ("core::iter::adapters::TakeN", 789_usize),
+    ]);
+
+    b.iter(|| {
+        let x = data.choose(&mut rng).unwrap();
+        let y = data.choose(&mut rng).unwrap();
+        [x < y, x <= y, x > y, x >= y]
+    });
+}