blob: ba7f81c018ebceb288a25eb744f9f75bb2b7e9c6 [file] [log] [blame]
Chih-Hung Hsieh048fc042020-04-16 10:44:22 -07001#![feature(test)]
2
3extern crate regex_syntax;
4extern crate test;
5
6use regex_syntax::Parser;
7use test::Bencher;
8
9#[bench]
10fn parse_simple1(b: &mut Bencher) {
11 b.iter(|| {
12 let re = r"^bc(d|e)*$";
13 Parser::new().parse(re).unwrap()
14 });
15}
16
17#[bench]
18fn parse_simple2(b: &mut Bencher) {
19 b.iter(|| {
20 let re = r"'[a-zA-Z_][a-zA-Z0-9_]*(')\b";
21 Parser::new().parse(re).unwrap()
22 });
23}
24
25#[bench]
26fn parse_small1(b: &mut Bencher) {
27 b.iter(|| {
28 let re = r"\p{L}|\p{N}|\s|.|\d";
29 Parser::new().parse(re).unwrap()
30 });
31}
32
33#[bench]
34fn parse_medium1(b: &mut Bencher) {
35 b.iter(|| {
36 let re = r"\pL\p{Greek}\p{Hiragana}\p{Alphabetic}\p{Hebrew}\p{Arabic}";
37 Parser::new().parse(re).unwrap()
38 });
39}
40
41#[bench]
42fn parse_medium2(b: &mut Bencher) {
43 b.iter(|| {
44 let re = r"\s\S\w\W\d\D";
45 Parser::new().parse(re).unwrap()
46 });
47}
48
49#[bench]
50fn parse_medium3(b: &mut Bencher) {
51 b.iter(|| {
52 let re =
53 r"\p{age:3.2}\p{hira}\p{scx:hira}\p{alphabetic}\p{sc:Greek}\pL";
54 Parser::new().parse(re).unwrap()
55 });
56}
57
58#[bench]
59fn parse_huge(b: &mut Bencher) {
60 b.iter(|| {
61 let re = r"\p{L}{100}";
62 Parser::new().parse(re).unwrap()
63 });
64}