use bytes::BytesMut; use yarte::TemplateBytes; pub fn big_table(b: &mut criterion::Bencher<'_>, size: &usize) { let mut table = Vec::with_capacity(*size); for _ in 0..*size { let mut inner = Vec::with_capacity(*size); for i in 0..*size { inner.push(i); } table.push(inner); } let t = BigTable { table }; b.iter(|| t.call::(109915)); } #[derive(TemplateBytes)] #[template(path = "big-table")] struct BigTable { table: Vec>, } pub fn teams(b: &mut criterion::Bencher<'_>) { let t = Teams { year: 2015, teams: vec![ Team { name: "Jiangsu".into(), score: 43, }, Team { name: "Beijing".into(), score: 27, }, Team { name: "Guangzhou".into(), score: 22, }, Team { name: "Shandong".into(), score: 12, }, ], }; b.iter(|| t.call::(239)); } #[derive(TemplateBytes)] #[template(path = "teams")] struct Teams { year: u16, teams: Vec, } struct Team { name: String, score: u8, }