#![feature(test)] extern crate test; use horrorshow::html; use horrorshow::prelude::*; #[derive(Debug)] struct Entry { name: &'static str, score: u16, } #[bench] fn render_template(b: &mut test::Bencher) { let year = test::black_box("2015"); let teams = test::black_box(vec![ Entry { name: "Jiangsu", score: 43, }, Entry { name: "Beijing", score: 27, }, Entry { name: "Guangzhou", score: 22, }, Entry { name: "Shandong", score: 12, }, ]); b.iter(|| { (html! { html { head { title : year; } body { h1 { : "CSL "; : year } ul { @ for (i, team) in teams.iter().enumerate() { li(class=(if i == 0 { "champion" } else { "" })) { b : (team.name); : ": "; : (team.score); } } } } } }) .into_string() .unwrap() }); }