bench_layout/
bench_layout.rs1use std::time::Instant;
2
3use sequoia_layout::Axis;
4use sequoia_layout::{ContainerStyle, distribute_flex, resolve_tracks};
5
6fn main() {
7 let n = 100_000usize;
8
9 let items: Vec<sequoia_layout::FlexItem> = (0..n)
10 .map(|_| sequoia_layout::FlexItem::new(10.0, 1.0, 1.0, 0.0, f32::INFINITY))
11 .collect();
12 let mut sizes = vec![10.0; n];
13 let t = Instant::now();
14 distribute_flex(&items, &mut sizes, 0.0, 1_000_000.0);
15 println!("sequoia distribute_flex {n}: {:?}", t.elapsed());
16
17 let tracks = vec![sequoia_layout::Track::Fill(1.0); n.min(1000)];
18 let content = vec![0.0; tracks.len()];
19 let t = Instant::now();
20 let _ = resolve_tracks(&tracks, &content, 1_000_000.0, 0.0);
21 println!("sequoia resolve_tracks {}: {:?}", tracks.len(), t.elapsed());
22
23 let _ = ContainerStyle::default();
24 let _ = Axis::Horizontal;
25}