1 #![feature(test)] 2 3 extern crate test; 4 5 use semver::{Prerelease, Version, VersionReq}; 6 use test::{black_box, Bencher}; 7 8 #[bench] parse_prerelease(b: &mut Bencher)9fn parse_prerelease(b: &mut Bencher) { 10 let text = "x.7.z.92"; 11 b.iter(|| black_box(text).parse::<Prerelease>().unwrap()); 12 } 13 14 #[bench] parse_version(b: &mut Bencher)15fn parse_version(b: &mut Bencher) { 16 let text = "1.0.2021-beta+exp.sha.5114f85"; 17 b.iter(|| black_box(text).parse::<Version>().unwrap()); 18 } 19 20 #[bench] parse_version_req(b: &mut Bencher)21fn parse_version_req(b: &mut Bencher) { 22 let text = ">=1.2.3, <2.0.0"; 23 b.iter(|| black_box(text).parse::<VersionReq>().unwrap()); 24 } 25