summaryrefslogtreecommitdiffstats
path: root/vendor/tinystr/benches/tinystr.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vendor/tinystr/benches/tinystr.rs176
1 files changed, 0 insertions, 176 deletions
diff --git a/vendor/tinystr/benches/tinystr.rs b/vendor/tinystr/benches/tinystr.rs
deleted file mode 100644
index 83b26a30a..000000000
--- a/vendor/tinystr/benches/tinystr.rs
+++ /dev/null
@@ -1,176 +0,0 @@
-use criterion::black_box;
-use criterion::criterion_group;
-use criterion::criterion_main;
-use criterion::Bencher;
-use criterion::Criterion;
-use criterion::Fun;
-
-use tinystr::{TinyStr16, TinyStr4, TinyStr8};
-
-static STRINGS_4: &[&str] = &[
- "US", "GB", "AR", "Hans", "CN", "AT", "PL", "FR", "AT", "Cyrl", "SR", "NO", "FR", "MK", "UK",
-];
-
-static STRINGS_8: &[&str] = &[
- "Latn", "windows", "AR", "Hans", "macos", "AT", "pl", "FR", "en", "Cyrl", "SR", "NO", "419",
- "und", "UK",
-];
-
-static STRINGS_16: &[&str] = &[
- "Latn",
- "windows",
- "AR",
- "Hans",
- "macos",
- "AT",
- "infiniband",
- "FR",
- "en",
- "Cyrl",
- "FromIntegral",
- "NO",
- "419",
- "MacintoshOSX2019",
- "UK",
-];
-
-macro_rules! bench_block {
- ($c:expr, $name:expr, $action:ident) => {
- let funcs = vec![
- Fun::new("String", $action!(String)),
- Fun::new("TinyStr4", $action!(TinyStr4)),
- Fun::new("TinyStr8", $action!(TinyStr8)),
- Fun::new("TinyStr16", $action!(TinyStr16)),
- ];
-
- $c.bench_functions(&format!("{}/4", $name), funcs, STRINGS_4);
-
- let funcs = vec![
- Fun::new("String", $action!(String)),
- Fun::new("TinyStr8", $action!(TinyStr8)),
- Fun::new("TinyStr16", $action!(TinyStr16)),
- ];
-
- $c.bench_functions(&format!("{}/8", $name), funcs, STRINGS_8);
-
- let funcs = vec![
- Fun::new("String", $action!(String)),
- Fun::new("TinyStr16", $action!(TinyStr16)),
- ];
-
- $c.bench_functions(&format!("{}/16", $name), funcs, STRINGS_16);
- };
-}
-
-macro_rules! convert_to_ascii {
- ($ty:ty, $action:ident) => {
- |b: &mut Bencher, inputs: &&[&str]| {
- let raw: Vec<$ty> = inputs.iter().map(|s| s.parse::<$ty>().unwrap()).collect();
- b.iter(move || {
- for s in &raw {
- let _ = black_box(s.$action());
- }
- })
- }
- };
-}
-
-fn convert_to_ascii_lowercase(c: &mut Criterion) {
- macro_rules! ctal {
- ($ty:ty) => {
- convert_to_ascii!($ty, to_ascii_lowercase)
- };
- }
-
- bench_block!(c, "convert_to_ascii_lowercase", ctal);
-}
-
-fn convert_to_ascii_uppercase(c: &mut Criterion) {
- macro_rules! ctau {
- ($ty:ty) => {
- convert_to_ascii!($ty, to_ascii_uppercase)
- };
- }
-
- bench_block!(c, "convert_to_ascii_uppercase", ctau);
-}
-
-trait ExtToAsciiTitlecase {
- #[inline(always)]
- fn to_ascii_titlecase(&self) -> String;
-}
-
-impl ExtToAsciiTitlecase for str {
- fn to_ascii_titlecase(&self) -> String {
- let mut result = self.to_ascii_lowercase();
- result[0..1].make_ascii_uppercase();
- result
- }
-}
-
-fn convert_to_ascii_titlecase(c: &mut Criterion) {
- macro_rules! ctat {
- ($ty:ty) => {
- convert_to_ascii!($ty, to_ascii_titlecase)
- };
- }
-
- bench_block!(c, "convert_to_ascii_titlecase", ctat);
-}
-
-trait ExtIsAsciiAlphanumeric {
- #[inline(always)]
- fn is_ascii_alphanumeric(&self) -> bool;
-}
-
-impl ExtIsAsciiAlphanumeric for str {
- fn is_ascii_alphanumeric(&self) -> bool {
- self.chars().all(|c| c.is_ascii_alphanumeric())
- }
-}
-
-fn test_is_ascii_alphanumeric(c: &mut Criterion) {
- macro_rules! tiaa {
- ($ty:ty) => {
- |b: &mut Bencher, inputs: &&[&str]| {
- let raw: Vec<$ty> = inputs.iter().map(|s| s.parse::<$ty>().unwrap()).collect();
- b.iter(move || {
- for s in &raw {
- let _ = black_box(s.is_ascii_alphanumeric());
- }
- })
- }
- };
- }
-
- bench_block!(c, "test_is_ascii_alphanumeric", tiaa);
-}
-
-fn test_eq(c: &mut Criterion) {
- macro_rules! te {
- ($ty:ty) => {
- |b: &mut Bencher, inputs: &&[&str]| {
- let raw: Vec<$ty> = inputs.iter().map(|s| s.parse::<$ty>().unwrap()).collect();
- b.iter(move || {
- for s in &raw {
- for l in &raw {
- let _ = black_box(s == l);
- }
- }
- })
- }
- };
- }
-
- bench_block!(c, "test_eq", te);
-}
-
-criterion_group!(
- benches,
- convert_to_ascii_lowercase,
- convert_to_ascii_uppercase,
- convert_to_ascii_titlecase,
- test_is_ascii_alphanumeric,
- test_eq,
-);
-criterion_main!(benches);