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)9 fn 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)15 fn 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)21 fn 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