tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 231Rust 9TOML 3CSS 1345 Sutichaykuna

Make benchmark much more complicated

e9216b6054e7b14c13a5d166586b57f71b53cec8 · ruwaq Emil Sjölander · (7 wata ñawpaq) · tayta 89e68797c · kay commitpi sach'ata qhaway

Semántico sayk'uy · 1

benches/generated.rs

1 qillqakuna · +88 −12

diff --git a/benches/generated.rs b/benches/generated.rs
index 219231c45..3859104bd 100644
--- a/benches/generated.rs
+++ b/benches/generated.rs
@@ -1,23 +1,99 @@
 use criterion::{criterion_group, criterion_main, Criterion};
 
 fn stretch_benchmarks(c: &mut Criterion) {
-    c.bench_function("layout", |b| {
+    c.bench_function("deep hierarchy", |b| {
         b.iter(|| {
             stretch::compute(
                 &stretch::style::Node {
-                    align_items: stretch::style::AlignItems::Center,
-                    size: stretch::geometry::Size {
-                        width: stretch::style::Dimension::Points(100.0000),
-                        height: stretch::style::Dimension::Points(100.0000),
-                    },
+                    children: vec![
+                        stretch::style::Node {
+                            children: vec![
+                                stretch::style::Node {
+                                    children: vec![
+                                        stretch::style::Node {
+                                            size: stretch::geometry::Size {
+                                                width: stretch::style::Dimension::Points(10.0),
+                                                height: stretch::style::Dimension::Points(10.0),
+                                            },
+                                            ..Default::default()
+                                        },
+                                        stretch::style::Node {
+                                            size: stretch::geometry::Size {
+                                                width: stretch::style::Dimension::Points(10.0),
+                                                height: stretch::style::Dimension::Points(10.0),
+                                            },
+                                            ..Default::default()
+                                        },
+                                    ],
+                                    ..Default::default()
+                                },
+                                stretch::style::Node {
+                                    children: vec![
+                                        stretch::style::Node {
+                                            size: stretch::geometry::Size {
+                                                width: stretch::style::Dimension::Points(10.0),
+                                                height: stretch::style::Dimension::Points(10.0),
+                                            },
+                                            ..Default::default()
+                                        },
+                                        stretch::style::Node {
+                                            size: stretch::geometry::Size {
+                                                width: stretch::style::Dimension::Points(10.0),
+                                                height: stretch::style::Dimension::Points(10.0),
+                                            },
+                                            ..Default::default()
+                                        },
+                                    ],
+                                    ..Default::default()
+                                },
+                            ],
 
-                    children: vec![stretch::style::Node {
-                        size: stretch::geometry::Size {
-                            width: stretch::style::Dimension::Points(10.0000),
-                            height: stretch::style::Dimension::Points(10.0000),
+                            ..Default::default()
                         },
-                        ..Default::default()
-                    }],
+                        stretch::style::Node {
+                            children: vec![
+                                stretch::style::Node {
+                                    children: vec![
+                                        stretch::style::Node {
+                                            size: stretch::geometry::Size {
+                                                width: stretch::style::Dimension::Points(10.0),
+                                                height: stretch::style::Dimension::Points(10.0),
+                                            },
+                                            ..Default::default()
+                                        },
+                                        stretch::style::Node {
+                                            size: stretch::geometry::Size {
+                                                width: stretch::style::Dimension::Points(10.0),
+                                                height: stretch::style::Dimension::Points(10.0),
+                                            },
+                                            ..Default::default()
+                                        },
+                                    ],
+                                    ..Default::default()
+                                },
+                                stretch::style::Node {
+                                    children: vec![
+                                        stretch::style::Node {
+                                            size: stretch::geometry::Size {
+                                                width: stretch::style::Dimension::Points(10.0),
+                                                height: stretch::style::Dimension::Points(10.0),
+                                            },
+                                            ..Default::default()
+                                        },
+                                        stretch::style::Node {
+                                            size: stretch::geometry::Size {
+                                                width: stretch::style::Dimension::Points(10.0),
+                                                height: stretch::style::Dimension::Points(10.0),
+                                            },
+                                            ..Default::default()
+                                        },
+                                    ],
+                                    ..Default::default()
+                                },
+                            ],
+                            ..Default::default()
+                        },
+                    ],
 
                     ..Default::default()
                 },