-
Notifications
You must be signed in to change notification settings - Fork 107
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WIP: User-friendly release notes for 0.2 (#249)
* 0.2 release notes WIP * Deindent list items in release notes * Add benchmark results * Add yoga benchmarks to README * Add yoga and taffy 0.1 vs 0.2 benchmarks to release notes * Reorganise release note headings * Misc release notes updates * Fix markdown lints * Grammar nit * Remove references to FlexboxLayout from release notes * Spelling * Fill in release notes section on AvailableSpace enum * Add release notes section on `mark_dirty` change * Cleanup 0.2 release notes * Fix markdown lints * Remove mark_dirty from the release notes as the change has been reverted * Fix table heading Co-authored-by: Andreas Weibye <[email protected]> * Remove % change heading from table that doesn't actually have that column * s/below/above/ * Add note about removed deps to changelog * Add cargo-vendor fix to release notes * Separate the correctness fixes from the vendor fix in RELEASES.md Co-authored-by: TimJentzsch <[email protected]> Co-authored-by: Alice Cecile <[email protected]> Co-authored-by: Andreas Weibye <[email protected]> Co-authored-by: TimJentzsch <[email protected]>
- Loading branch information
1 parent
ca514f6
commit 2d58c51
Showing
3 changed files
with
164 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Benchmarks (Taffy 0.2 vs Taffy 0.1 and Yoga) | ||
|
||
- Using [this branch](https://github.com/nicoburns/taffy/tree/0.1-benchmarks) that backports the new benchmarks to the `0.1` tag. | ||
- Run on a 2021 MacBook Pro with M1 Pro processor. | ||
- Taffy benchmarks are using criterion (10 iterations). | ||
- 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. | ||
|
||
| Benchmark | Yoga | Taffy 0.1 | Taffy 0.2 | % change (0.1 -> 0.2) | | ||
| --- | --- | --- | --- | --- | | ||
| yoga/10 nodes (1-level hierarchy) | 45.1670 µs | 68.499 ns | 33.297 ns | -51.161% | | ||
| yoga/100 nodes (2-level hierarchy) | 134.1250 µs | 378.22 ns | 336.53 ns | -10.862% | | ||
| yoga/1_000 nodes (3-level hierarchy) | 1.2221 ms | 3.2015 µs | 3.8928 µs | +21.080% | | ||
| yoga/10_000 nodes (4-level hierarchy) | 13.8672 ms | 37.347 µs | 36.162 µs | -11.971% | | ||
| yoga/100_000 nodes (5-level hierarchy) | 141.5307 ms | 1.5660 s | 1.6404 ms | -99.890% | | ||
| yoga /1_000_000 nodes (6-level hierarchy) | - | - | 50.760 ms | - | | ||
| wide/10 nodes (2-level hierarchy) | - | 73.037 ns | 41.936 ns | -41.936% | | ||
| wide/100 nodes (2-level hierarchy) | - | 371.70 ns | 309.37 ns | -16.605% | | ||
| wide/1_000 nodes (2-level hierarchy) | - | 3.5458 µs | 4.3571 µs | +23.333% | | ||
| wide/10_000 nodes (2-level hierarchy) | - | 36.418 µs | 42.967 µs | +17.357% | | ||
| wide/100_000 nodes (2-level hierarchy) | - | 1.8275 ms | 3.9096 ms | +112.26% | | ||
| semi-wide/100_000 nodes (7-level hierarchy) | - | 2.6569 s | 1.4992 ms | -99.933% | | ||
| deep/4000 nodes (12-level hierarchy)) | - | 5.1845 s | 15.318 µs | -100.000% | | ||
| deep/10_000 nodes (14-level hierarchy) | - | 75.978 s | 40.315 µs | -100.000% | | ||
| deep/100_000 nodes (17-level hierarchy) | - | - | 2.7644 ms| - | | ||
| deep/1_000_000 nodes (20-level hierarchy) | - | - | 1.2130 s| - | | ||
| deep hierarchy/build | - | 1.4869 µs | 713.45 ns | -4.4346% | | ||
| deep hierarchy/single | - | 7.1058 µs | 4.6564 µs | -2.0999% | | ||
| deep hierarchy/relayout | - | 3.7909 µs | 2.1306 µs | -2.4861% | | ||
| generated benchmarks | - | 256.80 µs | 218.71 µs | -14.485% | |