diff options
Diffstat (limited to '')
-rw-r--r-- | vendor/tinystr/benches/tinystr.rs | 176 |
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); |