iTwin / presentation

Monorepo for iTwin.js Presentation Library
https://www.itwinjs.org/presentation/
MIT License
4 stars 0 forks source link

hierarchies: Release main thread #571

Closed grigasp closed 4 months ago

grigasp commented 4 months ago

Closes https://github.com/iTwin/presentation/issues/515.

changeset-bot[bot] commented 4 months ago

🦋 Changeset detected

Latest commit: 1de719a636547dbb607821c366d95574b3baf530

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages | Name | Type | | -------------------------------- | ----- | | @itwin/presentation-shared | Patch | | @itwin/presentation-core-interop | Patch | | @itwin/unified-selection | Patch |

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

github-actions[bot] commented 4 months ago

Unified selection benchmark

Benchmark suite Current: 1de719a636547dbb607821c366d95574b3baf530 Previous: 5adc9e4b7995b6a7856651cf1d89399cbb718c34 Deviation Status
hilite 50k elements 2929.41 ms 2878.38 ms 1.7729% 🚨
hilite 50k elements (P95 of main thread blocks) 2001 ms 1983 ms 0.9077% 🚨
hilite 50k group elements 211.45 ms 217.33 ms -2.7056% ✅
hilite 50k group elements (P95 of main thread blocks) 78 ms 84 ms -7.1429% ✅
hilite 1k subjects 45995.99 ms 45753.39 ms 0.5302% 🚨
hilite 1k subjects (P95 of main thread blocks) 34 ms 30 ms 13.3333% 🚨
hilite 50k subcategories 246.58 ms 254.84 ms -3.2412% ✅
hilite 50k subcategories (P95 of main thread blocks) 118 ms 117 ms 0.8547% 🚨
hilite 50k functional 3D elements 27600.74 ms 26949.49 ms 2.4166% 🚨
hilite 50k functional 3D elements (P95 of main thread blocks) 2009 ms 2003 ms 0.2996% 🚨
hilite 50k functional 2D elements 7847.88 ms 8001.43 ms -1.9190% ✅
hilite 50k functional 2D elements (P95 of main thread blocks) 2035 ms 2134 ms -4.6392% ✅
compute selection for 50k elements 315.65 ms 321.08 ms -1.6912% ✅
compute selection for 50k elements (P95 of main thread blocks) 133 ms 135 ms -1.4815% ✅
compute parent selection for 50k elements 362.1 ms 346.28 ms 4.5686% 🚨
compute parent selection for 50k elements (P95 of main thread blocks) 136 ms 128 ms 6.2500% 🚨
compute top ancestor selection for 50k elements 559.96 ms 578.88 ms -3.2684% ✅
compute top ancestor selection for 50k elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
compute category selection for 50k elements 99.36 ms 104.88 ms -5.2632% ✅
compute category selection for 50k elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
compute model selection for 50k elements 83.33 ms 82.91 ms 0.5066% 🚨
compute model selection for 50k elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
compute functional selection for 50k 3D elements 405.83 ms 418.78 ms -3.0923% ✅
compute functional selection for 50k 3D elements (P95 of main thread blocks) 130 ms 143 ms -9.0909% ✅
compute parent functional selection for 50k 3D elements 441.64 ms 449.34 ms -1.7136% ✅
compute parent functional selection for 50k 3D elements (P95 of main thread blocks) 114 ms 125 ms -8.8000% ✅
compute top ancestor functional selection for 50k 3D elements 1142.51 ms 1179.95 ms -3.1730% ✅
compute top ancestor functional selection for 50k 3D elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
compute functional selection for 50k 2D elements 2996.3 ms 3093.19 ms -3.1324% ✅
compute functional selection for 50k 2D elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
compute parent functional selection for 50k 2D elements 3088.2 ms 3127.5 ms -1.2566% ✅
compute parent functional selection for 50k 2D elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
compute top ancestor functional selection for 50k 2D elements 3043.24 ms 3175.86 ms -4.1759% ✅
compute top ancestor functional selection for 50k 2D elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨

This comment was automatically generated by workflow using github-action-benchmark.

github-actions[bot] commented 4 months ago

Hierarchies benchmark

Benchmark suite Current: 1de719a636547dbb607821c366d95574b3baf530 Previous: 164ba40e7f44fc8388326b5628ca302d8fc20c66 Deviation Status
flat 50k elements list 4358.11 ms 4511.04 ms -3.3901% ✅
flat 50k elements list (P95 of main thread blocks) 77 ms 44 ms 75% 🚨
grouping by label 10250.93 ms 11027.17 ms -7.0393% ✅
grouping by label (P95 of main thread blocks) 61 ms 44 ms 38.6364% 🚨
grouping by class 10454.39 ms 12217.35 ms -14.4300% ✅
grouping by class (P95 of main thread blocks) 46 ms 103 ms -55.3398% ✅
grouping by property 10933.56 ms 12020.84 ms -9.0450% ✅
grouping by property (P95 of main thread blocks) 46 ms 298 ms -84.5638% ✅
grouping by base class (10 classes) 7910.29 ms 7982.89 ms -0.9094% ✅
grouping by base class (10 classes) (P95 of main thread blocks) 82 ms 205 ms -60% ✅
grouping by multiple attributes 27567.29 ms 30059.33 ms -8.2904% ✅
grouping by multiple attributes (P95 of main thread blocks) 70 ms 122 ms -42.6230% ✅
hide if no children required to finalize root, w/o children 49346.23 ms 47157.85 ms 4.6405% 🚨
hide if no children required to finalize root, w/o children (P95 of main thread blocks) 39 ms 39 ms 0% 🟰
hide if no children required to finalize root, w/ children 176.18 ms 164.45 ms 7.1329% 🚨
hide if no children required to finalize root, w/ children (P95 of main thread blocks) 0 ms 22 ms -100% ✅
models tree initial (Baytown) 63.97 ms 68.66 ms -6.8308% ✅
models tree initial (Baytown) (P95 of main thread blocks) 0 ms 23 ms -100% ✅
models tree full (Baytown) 7594.48 ms 13116.23 ms -42.0986% ✅
models tree full (Baytown) (P95 of main thread blocks) 88 ms 160 ms -45% ✅

This comment was automatically generated by workflow using github-action-benchmark.

grigasp commented 4 months ago

I see flat and label grouping cases got worse - looking into those.