@@ -10,11 +10,14 @@ use url::Url;
1010
1111criterion_group ! (
1212 benches,
13- bench_parse,
14- bench_parse_iref,
15- bench_parse_iri_string,
16- bench_parse_oxiri,
17- bench_parse_url,
13+ bench_parse_uri,
14+ bench_parse_uri_iref,
15+ bench_parse_uri_iri_string,
16+ bench_parse_iri,
17+ bench_parse_iri_iref,
18+ bench_parse_iri_iri_string,
19+ bench_parse_iri_oxiri,
20+ bench_parse_iri_url,
1821 bench_build,
1922 bench_build_iri_string,
2023 bench_normalize,
@@ -24,36 +27,57 @@ criterion_group!(
2427) ;
2528criterion_main ! ( benches) ;
2629
27- const PARSE_CASE : & str = "https://user@example.com/search?q=%E6%B5%8B%E8%AF%95#fragment" ;
30+ const PARSE_URI_CASE : & str = "https://user@example.com/search?q=%E6%B5%8B%E8%AF%95#fragment" ;
31+ const PARSE_IRI_CASE : & str = "https://用户@测试.com/search?q=我们测试解析IRI#fragment" ;
2832const NORMALIZE_CASE : & str = "eXAMPLE://a/./b/../b/%63/%7bfoo%7d" ;
2933const RESOLVE_CASE_BASE : & str = "http://example.com/foo/bar/baz/quz" ;
3034const RESOLVE_CASE_REF : & str = "../../../qux/./quux/../corge" ;
3135
32- fn bench_parse ( c : & mut Criterion ) {
33- c. bench_function ( "parse" , |b| b. iter ( || Iri :: parse ( black_box ( PARSE_CASE ) ) ) ) ;
36+ fn bench_parse_uri ( c : & mut Criterion ) {
37+ c. bench_function ( "parse_uri" , |b| {
38+ b. iter ( || Uri :: parse ( black_box ( PARSE_URI_CASE ) ) )
39+ } ) ;
40+ }
41+
42+ fn bench_parse_uri_iref ( c : & mut Criterion ) {
43+ c. bench_function ( "parse_uri_iref" , |b| {
44+ b. iter ( || iref:: Uri :: new ( black_box ( PARSE_URI_CASE ) ) )
45+ } ) ;
46+ }
47+
48+ fn bench_parse_uri_iri_string ( c : & mut Criterion ) {
49+ c. bench_function ( "parse_uri_iri_string" , |b| {
50+ b. iter ( || UriStr :: new ( black_box ( PARSE_URI_CASE ) ) )
51+ } ) ;
52+ }
53+
54+ fn bench_parse_iri ( c : & mut Criterion ) {
55+ c. bench_function ( "parse_iri" , |b| {
56+ b. iter ( || Iri :: parse ( black_box ( PARSE_IRI_CASE ) ) )
57+ } ) ;
3458}
3559
36- fn bench_parse_iref ( c : & mut Criterion ) {
37- c. bench_function ( "parse_iref " , |b| {
38- b. iter ( || iref:: Iri :: new ( black_box ( PARSE_CASE ) ) )
60+ fn bench_parse_iri_iref ( c : & mut Criterion ) {
61+ c. bench_function ( "parse_iri_iref " , |b| {
62+ b. iter ( || iref:: Iri :: new ( black_box ( PARSE_IRI_CASE ) ) )
3963 } ) ;
4064}
4165
42- fn bench_parse_iri_string ( c : & mut Criterion ) {
43- c. bench_function ( "parse_iri_string " , |b| {
44- b. iter ( || IriStr :: new ( black_box ( PARSE_CASE ) ) )
66+ fn bench_parse_iri_iri_string ( c : & mut Criterion ) {
67+ c. bench_function ( "parse_iri_iri_string " , |b| {
68+ b. iter ( || IriStr :: new ( black_box ( PARSE_IRI_CASE ) ) )
4569 } ) ;
4670}
4771
48- fn bench_parse_oxiri ( c : & mut Criterion ) {
49- c. bench_function ( "parse_oxiri " , |b| {
50- b. iter ( || oxiri:: Iri :: parse ( black_box ( PARSE_CASE ) ) )
72+ fn bench_parse_iri_oxiri ( c : & mut Criterion ) {
73+ c. bench_function ( "parse_iri_oxiri " , |b| {
74+ b. iter ( || oxiri:: Iri :: parse ( black_box ( PARSE_IRI_CASE ) ) )
5175 } ) ;
5276}
5377
54- fn bench_parse_url ( c : & mut Criterion ) {
55- c. bench_function ( "parse_url " , |b| {
56- b. iter ( || Url :: parse ( black_box ( PARSE_CASE ) ) )
78+ fn bench_parse_iri_url ( c : & mut Criterion ) {
79+ c. bench_function ( "parse_iri_url " , |b| {
80+ b. iter ( || Url :: parse ( black_box ( PARSE_IRI_CASE ) ) )
5781 } ) ;
5882}
5983
0 commit comments