tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 231Rust 9TOML 3CSS 1345 Definitions

⎇ 5df136aae440ccb4549bdc46e7438fbfddcf62a5 benches/generated.rs Rust · 108 lines · 5.7 KB History Who touched what raw

Add error handling to custom measure functions c3eff8796 · Emil Sjölander ·

1use criterion::{criterion_group, criterion_main, Criterion};
2
3fn stretch_benchmarks(c: &mut Criterion) {
4    c.bench_function("deep hierarchy", |b| {
5        b.iter(|| {
6            stretch::compute(
7                &stretch::style::Node {
8                    children: vec![
9                        stretch::style::Node {
10                            children: vec![
11                                stretch::style::Node {
12                                    children: vec![
13                                        stretch::style::Node {
14                                            size: stretch::geometry::Size {
15                                                width: stretch::style::Dimension::Points(10.0),
16                                                height: stretch::style::Dimension::Points(10.0),
17                                            },
18                                            ..Default::default()
19                                        },
20                                        stretch::style::Node {
21                                            size: stretch::geometry::Size {
22                                                width: stretch::style::Dimension::Points(10.0),
23                                                height: stretch::style::Dimension::Points(10.0),
24                                            },
25                                            ..Default::default()
26                                        },
27                                    ],
28                                    ..Default::default()
29                                },
30                                stretch::style::Node {
31                                    children: vec![
32                                        stretch::style::Node {
33                                            size: stretch::geometry::Size {
34                                                width: stretch::style::Dimension::Points(10.0),
35                                                height: stretch::style::Dimension::Points(10.0),
36                                            },
37                                            ..Default::default()
38                                        },
39                                        stretch::style::Node {
40                                            size: stretch::geometry::Size {
41                                                width: stretch::style::Dimension::Points(10.0),
42                                                height: stretch::style::Dimension::Points(10.0),
43                                            },
44                                            ..Default::default()
45                                        },
46                                    ],
47                                    ..Default::default()
48                                },
49                            ],
50
51                            ..Default::default()
52                        },
53                        stretch::style::Node {
54                            children: vec![
55                                stretch::style::Node {
56                                    children: vec![
57                                        stretch::style::Node {
58                                            size: stretch::geometry::Size {
59                                                width: stretch::style::Dimension::Points(10.0),
60                                                height: stretch::style::Dimension::Points(10.0),
61                                            },
62                                            ..Default::default()
63                                        },
64                                        stretch::style::Node {
65                                            size: stretch::geometry::Size {
66                                                width: stretch::style::Dimension::Points(10.0),
67                                                height: stretch::style::Dimension::Points(10.0),
68                                            },
69                                            ..Default::default()
70                                        },
71                                    ],
72                                    ..Default::default()
73                                },
74                                stretch::style::Node {
75                                    children: vec![
76                                        stretch::style::Node {
77                                            size: stretch::geometry::Size {
78                                                width: stretch::style::Dimension::Points(10.0),
79                                                height: stretch::style::Dimension::Points(10.0),
80                                            },
81                                            ..Default::default()
82                                        },
83                                        stretch::style::Node {
84                                            size: stretch::geometry::Size {
85                                                width: stretch::style::Dimension::Points(10.0),
86                                                height: stretch::style::Dimension::Points(10.0),
87                                            },
88                                            ..Default::default()
89                                        },
90                                    ],
91                                    ..Default::default()
92                                },
93                            ],
94                            ..Default::default()
95                        },
96                    ],
97
98                    ..Default::default()
99                },
100                stretch::geometry::Size::undefined(),
101            )
102            .unwrap()
103        })
104    });
105}
106
107criterion_group!(benches, stretch_benchmarks);
108criterion_main!(benches);