tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 5544Rust 89Markdown 11TOML 91930 Definiciones

⎇ main benches/results-2022-12-07.md Markdown · 28 líneas · 2.7 KB Historia crudo

WIP: 0.3.0 release (#357) 868b3a47e · Nico Burns ·

1# Benchmarks (Taffy 0.2 vs Taffy 0.1 and Yoga)
2
3- Taffy `0.1` results come from commit `52794ddf23dea463fcad5fb73db4f8362b894866`
4- Taffy `0.2` results come from commit `44763a9e74e87423f3158014d6d06c762ce44d19`
5- Run on a 2021 MacBook Pro with M1 Pro processor.
6- Taffy benchmarks are using criterion (10 iterations).
7- Yoga benchmarks run via the `yoga-layout-prebuilt` npm package, they were run a few times manually and it was verified that variance in the numbers of each run was minimal. It should be noted that this is using an old version of Yoga.
8
9| Benchmark                                    | Yoga        | Taffy 0.1 | Taffy 0.2 | % change (0.1 -> 0.2) |
10| ---                                          | ---         | ---       | ---       | ---                   |
11| yoga/10 nodes (1-level hierarchy)            | 45.1670 µs  | 2.2851 µs | 2.0787 µs | -9.3338%              |
12| yoga/100 nodes (2-level hierarchy)           | 134.1250 µs | 75.518 µs | 41.022 µs | -46.577%              |
13| yoga/1_000 nodes (3-level hierarchy)         | 1.2221 ms   | 1.7794 ms | 355.50 µs | -79.608%              |
14| yoga/10_000 nodes (4-level hierarchy)        | 13.8672 ms  | 52.117 ms | 3.6848 ms | -92.968%              |
15| yoga/100_000 nodes (5-level hierarchy)       | 141.5307 ms | 1.5626 s  | 39.830 ms | -97.459%              |
16| yoga /1_000_000 nodes (6-level hierarchy)    | -           | -         | 384.19 ms | -                     |
17| wide/10 nodes (2-level hierarchy)            | -           | 6.1508 µs | 4.1094 µs | -33.923%              |
18| wide/100 nodes (2-level hierarchy)           | -           | 66.602 µs | 41.056 µs | -35.742%              |
19| wide/1_000 nodes (2-level hierarchy)         | -           | 699.18 µs | 445.01 µs | -36.279%              |
20| wide/10_000 nodes (2-level hierarchy)        | -           | 8.8244 ms | 7.1313 ms | -16.352%              |
21| wide/100_000 nodes (2-level hierarchy)       | -           | 204.48 ms | 242.93 ms | +18.803%              |
22| semi-wide/100_000 nodes (7-level hierarchy)  | -           | 2.6539 s  | 69.141 ms | -97.402%              |
23| deep/4000 nodes (12-level hierarchy))        | -           | 5.2320 s  | 2.7363 ms | -99.947%              |
24| deep/10_000 nodes (14-level hierarchy)       | -           | 75.207 s  | 6.9415 ms | -99.991%              |
25| deep/100_000 nodes (17-level hierarchy)      | -           | -         | 102.72 ms | -                     |
26| deep/1_000_000 nodes (20-level hierarchy)    | -           | -         | 799.35 ms | -                     |
27| super-deep/100 nodes (100-level hierarchy)   | -           | -         | 111.26 µs | -                     |
28| super-deep/1000 nodes (1000-level hierarchy) | -           | -         | 1.1746 ms | -                     |

results-2022-12-07.md

Benchmarks (Taffy 0.2 vs Taffy 0.1 and Yoga)

BenchmarkYogaTaffy 0.1Taffy 0.2% change (0.1 -> 0.2)
yoga/10 nodes (1-level hierarchy)45.1670 µs2.2851 µs2.0787 µs-9.3338%
yoga/100 nodes (2-level hierarchy)134.1250 µs75.518 µs41.022 µs-46.577%
yoga/1_000 nodes (3-level hierarchy)1.2221 ms1.7794 ms355.50 µs-79.608%
yoga/10_000 nodes (4-level hierarchy)13.8672 ms52.117 ms3.6848 ms-92.968%
yoga/100_000 nodes (5-level hierarchy)141.5307 ms1.5626 s39.830 ms-97.459%
yoga /1_000_000 nodes (6-level hierarchy)--384.19 ms-
wide/10 nodes (2-level hierarchy)-6.1508 µs4.1094 µs-33.923%
wide/100 nodes (2-level hierarchy)-66.602 µs41.056 µs-35.742%
wide/1_000 nodes (2-level hierarchy)-699.18 µs445.01 µs-36.279%
wide/10_000 nodes (2-level hierarchy)-8.8244 ms7.1313 ms-16.352%
wide/100_000 nodes (2-level hierarchy)-204.48 ms242.93 ms+18.803%
semi-wide/100_000 nodes (7-level hierarchy)-2.6539 s69.141 ms-97.402%
deep/4000 nodes (12-level hierarchy))-5.2320 s2.7363 ms-99.947%
deep/10_000 nodes (14-level hierarchy)-75.207 s6.9415 ms-99.991%
deep/100_000 nodes (17-level hierarchy)--102.72 ms-
deep/1_000_000 nodes (20-level hierarchy)--799.35 ms-
super-deep/100 nodes (100-level hierarchy)--111.26 µs-
super-deep/1000 nodes (1000-level hierarchy)--1.1746 ms-