1
- use criterion:: { criterion_group, criterion_main, Criterion } ;
1
+ use criterion:: { black_box , criterion_group, criterion_main, Criterion } ;
2
2
use rinja:: Template ;
3
3
4
4
criterion_main ! ( benches) ;
@@ -18,7 +18,7 @@ fn escape_json(b: &mut criterion::Bencher<'_>) {
18
18
19
19
b. iter ( || {
20
20
let mut len = 0 ;
21
- for & s in STRINGS {
21
+ for & s in black_box ( STRINGS ) {
22
22
len += Tmpl ( s) . to_string ( ) . len ( ) ;
23
23
}
24
24
len
@@ -32,7 +32,7 @@ fn escape_json_pretty(b: &mut criterion::Bencher<'_>) {
32
32
33
33
b. iter ( || {
34
34
let mut len = 0 ;
35
- for & s in STRINGS {
35
+ for & s in black_box ( STRINGS ) {
36
36
len += Tmpl ( s) . to_string ( ) . len ( ) ;
37
37
}
38
38
len
@@ -46,7 +46,7 @@ fn escape_json_for_html(b: &mut criterion::Bencher<'_>) {
46
46
47
47
b. iter ( || {
48
48
let mut len = 0 ;
49
- for & s in STRINGS {
49
+ for & s in black_box ( STRINGS ) {
50
50
len += Tmpl ( s) . to_string ( ) . len ( ) ;
51
51
}
52
52
len
@@ -60,65 +60,11 @@ fn escape_json_for_html_pretty(b: &mut criterion::Bencher<'_>) {
60
60
61
61
b. iter ( || {
62
62
let mut len = 0 ;
63
- for & s in STRINGS {
63
+ for & s in black_box ( STRINGS ) {
64
64
len += Tmpl ( s) . to_string ( ) . len ( ) ;
65
65
}
66
66
len
67
67
} ) ;
68
68
}
69
69
70
- const STRINGS : & [ & str ] = & [ STRING_LONG , STRING_SHORT , EMPTY , NO_ESCAPE , NO_ESCAPE_LONG ] ;
71
- const STRING_LONG : & str = r#"
72
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris consequat tellus sit
73
- amet ornare fermentum. Etiam nec erat ante. In at metus a orci mollis scelerisque.
74
- Sed eget ultrices turpis, at sollicitudin erat. Integer hendrerit nec magna quis
75
- venenatis. Vivamus non dolor hendrerit, vulputate velit sed, varius nunc. Quisque
76
- in pharetra mi. Sed ullamcorper nibh malesuada commodo porttitor. Ut scelerisque
77
- sodales felis quis dignissim. Morbi aliquam finibus justo, sit amet consectetur
78
- mauris efficitur sit amet. Donec posuere turpis felis, eu lacinia magna accumsan
79
- quis. Fusce egestas lacus vel fermentum tincidunt. Phasellus a nulla eget lectus
80
- placerat commodo at eget nisl. Fusce cursus dui quis purus accumsan auctor.
81
- Donec iaculis felis quis metus consectetur porttitor.
82
- <p>
83
- Etiam nibh mi, <b>accumsan</b> quis purus sed, posuere fermentum lorem. In pulvinar porta
84
- maximus. Fusce tincidunt lacinia tellus sit amet tincidunt. Aliquam lacus est, pulvinar
85
- non metus a, <b>facilisis</b> ultrices quam. Nulla feugiat leo in cursus eleifend. Suspendisse
86
- eget nisi ac justo sagittis interdum id a ipsum. Nulla mauris justo, scelerisque ac
87
- rutrum vitae, consequat vel ex.
88
- </p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p>
89
- <p>
90
- Sed sollicitudin <b>sem</b> mauris, at rutrum nibh egestas vel. Ut eu nisi tellus. Praesent dignissim
91
- orci elementum, mattis turpis eget, maximus ante. Suspendisse luctus eu felis a tempor. Morbi
92
- ac risus vitae sem molestie ullamcorper. Curabitur ligula augue, sollicitudin quis maximus vel,
93
- facilisis sed nibh. Aenean auctor magna sem, id rutrum metus convallis quis. Nullam non arcu
94
- dictum, lobortis erat quis, rhoncus est. Suspendisse venenatis, mi sed venenatis vehicula,
95
- tortor dolor egestas lectus, et efficitur turpis odio non augue. Integer velit sapien, dictum
96
- non egestas vitae, hendrerit sed quam. Phasellus a nunc eu erat varius imperdiet. Etiam id
97
- sollicitudin turpis, vitae molestie orci. Quisque ornare magna quis metus rhoncus commodo.
98
- Phasellus non mauris velit.
99
- </p>
100
- <p>
101
- Etiam dictum tellus ipsum, nec varius quam ornare vel. Cras vehicula diam nec sollicitudin
102
- ultricies. Pellentesque rhoncus sagittis nisl id facilisis. Nunc viverra convallis risus ut
103
- luctus. Aliquam vestibulum <b>efficitur massa</b>, id tempus nisi posuere a. Aliquam scelerisque
104
- elit justo. Nullam a ante felis. Cras vitae lorem eu nisi feugiat hendrerit. Maecenas vitae
105
- suscipit leo, lacinia dignissim lacus. Sed eget volutpat mi. In eu bibendum neque. Pellentesque
106
- finibus velit a fermentum rhoncus. Maecenas leo purus, eleifend eu lacus a, condimentum sagittis
107
- justo.
108
- </p>"# ;
109
- const STRING_SHORT : & str = "Lorem ipsum dolor sit amet,<foo>bar&foo\" bar\\ foo/bar" ;
110
- const EMPTY : & str = "" ;
111
- const NO_ESCAPE : & str = "Lorem ipsum dolor sit amet," ;
112
- const NO_ESCAPE_LONG : & str = r#"
113
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin scelerisque eu urna in aliquet.
114
- Phasellus ac nulla a urna sagittis consequat id quis est. Nullam eu ex eget erat accumsan dictum
115
- ac lobortis urna. Etiam fermentum ut quam at dignissim. Curabitur vestibulum luctus tellus, sit
116
- amet lobortis augue tempor faucibus. Nullam sed felis eget odio elementum euismod in sit amet massa.
117
- Vestibulum sagittis purus sit amet eros auctor, sit amet pharetra purus dapibus. Donec ornare metus
118
- vel dictum porta. Etiam ut nisl nisi. Nullam rutrum porttitor mi. Donec aliquam ac ipsum eget
119
- hendrerit. Cras faucibus, eros ut pharetra imperdiet, est tellus aliquet felis, eget convallis
120
- lacus ipsum eget quam. Vivamus orci lorem, maximus ac mi eget, bibendum vulputate massa. In
121
- vestibulum dui hendrerit, vestibulum lacus sit amet, posuere erat. Vivamus euismod massa diam,
122
- vulputate euismod lectus vestibulum nec. Donec sit amet massa magna. Nunc ipsum nulla, euismod
123
- quis lacus at, gravida maximus elit. Duis tristique, nisl nullam.
124
- "# ;
70
+ const STRINGS : & [ & str ] = include ! ( "strings.inc" ) ;
0 commit comments