diff options
| author | 2018-11-03 14:05:27 +0100 | |
|---|---|---|
| committer | 2018-11-05 21:03:31 +0100 | |
| commit | 2721c44a20f3e3af5bb2facdbb77c64652f160a8 (patch) | |
| tree | 52fa4645cc4045a9a3b8b70c91e80874b726cb3f | |
| parent | 962c24eaed9bcf30e82dc5ed06c6513b00dba3cf (diff) | |
| download | askama-2721c44a20f3e3af5bb2facdbb77c64652f160a8.tar.gz askama-2721c44a20f3e3af5bb2facdbb77c64652f160a8.tar.bz2 askama-2721c44a20f3e3af5bb2facdbb77c64652f160a8.zip | |
Add bench for escaping
Diffstat (limited to '')
| -rw-r--r-- | testing/benches/all.rs | 68 | 
1 files changed, 67 insertions, 1 deletions
| diff --git a/testing/benches/all.rs b/testing/benches/all.rs index 0ff47da..a20d5c4 100644 --- a/testing/benches/all.rs +++ b/testing/benches/all.rs @@ -10,7 +10,8 @@ criterion_group!(benches, functions);  fn functions(c: &mut Criterion) {      c.bench_function("Big table", |b| big_table(b, &100)); -    c.bench_function("Teams", |b| teams(b)); +    c.bench_function("Teams", teams); +    c.bench_function("Escaping", escaping);  }  fn big_table(b: &mut criterion::Bencher, size: &usize) { @@ -68,3 +69,68 @@ struct Team {      name: String,      score: u8,  } + +fn escaping(b: &mut criterion::Bencher) { +    let string_long = r#" +    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris consequat tellus sit +    amet ornare fermentum. Etiam nec erat ante. In at metus a orci mollis scelerisque. +    Sed eget ultrices turpis, at sollicitudin erat. Integer hendrerit nec magna quis +    venenatis. Vivamus non dolor hendrerit, vulputate velit sed, varius nunc. Quisque +    in pharetra mi. Sed ullamcorper nibh malesuada commodo porttitor. Ut scelerisque +    sodales felis quis dignissim. Morbi aliquam finibus justo, sit amet consectetur +    mauris efficitur sit amet. Donec posuere turpis felis, eu lacinia magna accumsan +    quis. Fusce egestas lacus vel fermentum tincidunt. Phasellus a nulla eget lectus +    placerat commodo at eget nisl. Fusce cursus dui quis purus accumsan auctor. +    Donec iaculis felis quis metus consectetur porttitor. +<p> +    Etiam nibh mi, <b>accumsan</b> quis purus sed, posuere fermentum lorem. In pulvinar porta +    maximus. Fusce tincidunt lacinia tellus sit amet tincidunt. Aliquam lacus est, pulvinar +    non metus a, <b>facilisis</b> ultrices quam. Nulla feugiat leo in cursus eleifend. Suspendisse +    eget nisi ac justo sagittis interdum id a ipsum. Nulla mauris justo, scelerisque ac +    rutrum vitae, consequat vel ex. +</p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p> +<p> +    Sed sollicitudin <b>sem</b> mauris, at rutrum nibh egestas vel. Ut eu nisi tellus. Praesent dignissim +    orci elementum, mattis turpis eget, maximus ante. Suspendisse luctus eu felis a tempor. Morbi +    ac risus vitae sem molestie ullamcorper. Curabitur ligula augue, sollicitudin quis maximus vel, +    facilisis sed nibh. Aenean auctor magna sem, id rutrum metus convallis quis. Nullam non arcu +    dictum, lobortis erat quis, rhoncus est. Suspendisse venenatis, mi sed venenatis vehicula, +    tortor dolor egestas lectus, et efficitur turpis odio non augue. Integer velit sapien, dictum +    non egestas vitae, hendrerit sed quam. Phasellus a nunc eu erat varius imperdiet. Etiam id +    sollicitudin turpis, vitae molestie orci. Quisque ornare magna quis metus rhoncus commodo. +    Phasellus non mauris velit. +</p> +<p> +    Etiam dictum tellus ipsum, nec varius quam ornare vel. Cras vehicula diam nec sollicitudin +    ultricies. Pellentesque rhoncus sagittis nisl id facilisis. Nunc viverra convallis risus ut +    luctus. Aliquam vestibulum <b>efficitur massa</b>, id tempus nisi posuere a. Aliquam scelerisque +    elit justo. Nullam a ante felis. Cras vitae lorem eu nisi feugiat hendrerit. Maecenas vitae +    suscipit leo, lacinia dignissim lacus. Sed eget volutpat mi. In eu bibendum neque. Pellentesque +    finibus velit a fermentum rhoncus. Maecenas leo purus, eleifend eu lacus a, condimentum sagittis +    justo. +</p>"#; +    let string_short = "Lorem ipsum dolor sit amet,<foo>bar&foo\"bar\\foo/bar"; +    let empty = ""; +    let no_escape = "Lorem ipsum dolor sit amet,"; +    let no_escape_long = r#" +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin scelerisque eu urna in aliquet. +Phasellus ac nulla a urna sagittis consequat id quis est. Nullam eu ex eget erat accumsan dictum +ac lobortis urna. Etiam fermentum ut quam at dignissim. Curabitur vestibulum luctus tellus, sit +amet lobortis augue tempor faucibus. Nullam sed felis eget odio elementum euismod in sit amet massa. +Vestibulum sagittis purus sit amet eros auctor, sit amet pharetra purus dapibus. Donec ornare metus +vel dictum porta. Etiam ut nisl nisi. Nullam rutrum porttitor mi. Donec aliquam ac ipsum eget +hendrerit. Cras faucibus, eros ut pharetra imperdiet, est tellus aliquet felis, eget convallis +lacus ipsum eget quam. Vivamus orci lorem, maximus ac mi eget, bibendum vulputate massa. In +vestibulum dui hendrerit, vestibulum lacus sit amet, posuere erat. Vivamus euismod massa diam, +vulputate euismod lectus vestibulum nec. Donec sit amet massa magna. Nunc ipsum nulla, euismod +quis lacus at, gravida maximus elit. Duis tristique, nisl nullam. +    "#; + +    b.iter(|| { +        format!("{}", ::askama::MarkupDisplay::from(string_long)); +        format!("{}", ::askama::MarkupDisplay::from(string_short)); +        format!("{}", ::askama::MarkupDisplay::from(empty)); +        format!("{}", ::askama::MarkupDisplay::from(no_escape)); +        format!("{}", ::askama::MarkupDisplay::from(no_escape_long)); +    }); +} | 
