summaryrefslogtreecommitdiffstats
path: root/third_party/rust/uuid/benches
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/uuid/benches')
-rw-r--r--third_party/rust/uuid/benches/format_str.rs66
-rw-r--r--third_party/rust/uuid/benches/parse_str.rs50
-rw-r--r--third_party/rust/uuid/benches/v4.rs11
3 files changed, 127 insertions, 0 deletions
diff --git a/third_party/rust/uuid/benches/format_str.rs b/third_party/rust/uuid/benches/format_str.rs
new file mode 100644
index 0000000000..fab89297bf
--- /dev/null
+++ b/third_party/rust/uuid/benches/format_str.rs
@@ -0,0 +1,66 @@
+#![feature(test)]
+extern crate test;
+
+use std::io::Write;
+use test::Bencher;
+use uuid::Uuid;
+
+#[bench]
+fn hyphenated(b: &mut Bencher) {
+ let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
+ b.iter(|| {
+ let mut buffer = [0_u8; 36];
+ write!(&mut buffer as &mut [_], "{:x}", uuid.hyphenated()).unwrap();
+ buffer
+ });
+}
+
+#[bench]
+fn simple(b: &mut Bencher) {
+ let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
+ b.iter(|| {
+ let mut buffer = [0_u8; 32];
+ write!(&mut buffer as &mut [_], "{:x}", uuid.simple()).unwrap();
+ buffer
+ })
+}
+
+#[bench]
+fn urn(b: &mut Bencher) {
+ let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
+ b.iter(|| {
+ let mut buffer = [0_u8; 36 + 9];
+ write!(&mut buffer as &mut [_], "{:x}", uuid.urn()).unwrap();
+ buffer
+ })
+}
+
+#[bench]
+fn encode_hyphen(b: &mut Bencher) {
+ let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
+ b.iter(|| {
+ let mut buffer = [0_u8; 36];
+ uuid.hyphenated().encode_lower(&mut buffer);
+ buffer
+ });
+}
+
+#[bench]
+fn encode_simple(b: &mut Bencher) {
+ let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
+ b.iter(|| {
+ let mut buffer = [0_u8; 32];
+ uuid.simple().encode_lower(&mut buffer);
+ buffer
+ })
+}
+
+#[bench]
+fn encode_urn(b: &mut Bencher) {
+ let uuid = Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").unwrap();
+ b.iter(|| {
+ let mut buffer = [0_u8; 36 + 9];
+ uuid.urn().encode_lower(&mut buffer);
+ buffer
+ })
+}
diff --git a/third_party/rust/uuid/benches/parse_str.rs b/third_party/rust/uuid/benches/parse_str.rs
new file mode 100644
index 0000000000..e53ba242d3
--- /dev/null
+++ b/third_party/rust/uuid/benches/parse_str.rs
@@ -0,0 +1,50 @@
+#![feature(test)]
+extern crate test;
+
+use test::Bencher;
+use uuid::Uuid;
+
+#[bench]
+fn parse_nil(b: &mut Bencher) {
+ b.iter(|| Uuid::parse_str("00000000000000000000000000000000"));
+}
+
+#[bench]
+fn parse_nil_hyphenated(b: &mut Bencher) {
+ b.iter(|| Uuid::parse_str("00000000-0000-0000-0000-000000000000"));
+}
+
+#[bench]
+fn parse_random(b: &mut Bencher) {
+ b.iter(|| Uuid::parse_str("67e5504410b1426f9247bb680e5fe0c8"));
+}
+
+#[bench]
+fn parse_random_hyphenated(b: &mut Bencher) {
+ b.iter(|| Uuid::parse_str("67e55044-10b1-426f-9247-bb680e5fe0c8"));
+}
+
+#[bench]
+fn parse_urn(b: &mut Bencher) {
+ b.iter(|| Uuid::parse_str("urn:uuid:67e55044-10b1-426f-9247-bb680e5fe0c8"));
+}
+
+#[bench]
+fn parse_invalid_len(b: &mut Bencher) {
+ b.iter(|| Uuid::parse_str("F9168C5E-CEB2-4faa-BBF-329BF39FA1E4"))
+}
+
+#[bench]
+fn parse_invalid_character(b: &mut Bencher) {
+ b.iter(|| Uuid::parse_str("F9168C5E-CEB2-4faa-BGBF-329BF39FA1E4"))
+}
+
+#[bench]
+fn parse_invalid_group_len(b: &mut Bencher) {
+ b.iter(|| Uuid::parse_str("01020304-1112-2122-3132-41424344"));
+}
+
+#[bench]
+fn parse_invalid_groups(b: &mut Bencher) {
+ b.iter(|| Uuid::parse_str("F9168C5E-CEB2-4faa-B6BFF329BF39FA1E4"));
+}
diff --git a/third_party/rust/uuid/benches/v4.rs b/third_party/rust/uuid/benches/v4.rs
new file mode 100644
index 0000000000..61c3246b95
--- /dev/null
+++ b/third_party/rust/uuid/benches/v4.rs
@@ -0,0 +1,11 @@
+#![cfg(feature = "v4")]
+#![feature(test)]
+extern crate test;
+
+use test::Bencher;
+use uuid::Uuid;
+
+#[bench]
+fn new_v4(b: &mut Bencher) {
+ b.iter(|| Uuid::new_v4());
+}