iTwin / presentation

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

Hierarchies-react: Add performance metrics reporting #600

Closed saskliutas closed 3 months ago

saskliutas commented 3 months ago

Added API for reporting performance metrics

changeset-bot[bot] commented 3 months ago

🦋 Changeset detected

Latest commit: ee4cf694c809a2e5c3de7c7e25bb229b196a884f

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

This PR includes changesets to release 1 package | Name | Type | | ------------------------------------- | ----- | | @itwin/presentation-hierarchies-react | Minor |

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 3 months ago

Unified selection benchmark

Benchmark suite Current: ee4cf694c809a2e5c3de7c7e25bb229b196a884f Previous: bda5efff29313d6931dbe128db1f4c678f7217f8 Deviation Status
hilite 50k elements 1278.65 ms 1305.69 ms -2.0709% ✅
hilite 50k elements (P95 of main thread blocks) 59 ms 56 ms 5.3571% 🚨
hilite 50k group elements 243.69 ms 245.99 ms -0.9350% ✅
hilite 50k group elements (P95 of main thread blocks) 31 ms 32 ms -3.1250% ✅
hilite 1k subjects 46863.94 ms 46528.72 ms 0.7205% 🚨
hilite 1k subjects (P95 of main thread blocks) 35 ms 36 ms -2.7778% ✅
hilite 50k subcategories 291.35 ms 285.15 ms 2.1743% 🚨
hilite 50k subcategories (P95 of main thread blocks) 33 ms 33 ms 0% 🟰
hilite 50k functional 3D elements 25766.25 ms 25765.77 ms 0.0019% 🚨
hilite 50k functional 3D elements (P95 of main thread blocks) 42 ms 40 ms 5% 🚨
hilite 50k functional 2D elements 6129.52 ms 6273.64 ms -2.2972% ✅
hilite 50k functional 2D elements (P95 of main thread blocks) 34 ms 40 ms -15% ✅
compute selection for 50k elements 309.29 ms 312.38 ms -0.9892% ✅
compute selection for 50k elements (P95 of main thread blocks) 33 ms 31 ms 6.4516% 🚨
compute parent selection for 50k elements 337.81 ms 349.91 ms -3.4580% ✅
compute parent selection for 50k elements (P95 of main thread blocks) 33 ms 31 ms 6.4516% 🚨
compute top ancestor selection for 50k elements 561.12 ms 587.02 ms -4.4121% ✅
compute top ancestor selection for 50k elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
compute category selection for 50k elements 91.49 ms 95.36 ms -4.0583% ✅
compute category selection for 50k elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
compute model selection for 50k elements 78.97 ms 87.58 ms -9.8310% ✅
compute model selection for 50k elements (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
compute functional selection for 50k 3D elements 404.78 ms 407.82 ms -0.7454% ✅
compute functional selection for 50k 3D elements (P95 of main thread blocks) 31 ms 31 ms 0% 🟰
compute parent functional selection for 50k 3D elements 441.6 ms 451.15 ms -2.1168% ✅
compute parent functional selection for 50k 3D elements (P95 of main thread blocks) 31 ms 31 ms 0% 🟰
compute top ancestor functional selection for 50k 3D elements 1159.14 ms 1247.03 ms -7.0479% ✅
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 3010.76 ms 3195.14 ms -5.7706% ✅
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 3053.04 ms 3270.98 ms -6.6628% ✅
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 3041.42 ms 3278.91 ms -7.2430% ✅
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 3 months ago

Hierarchies benchmark

Benchmark suite Current: ee4cf694c809a2e5c3de7c7e25bb229b196a884f Previous: b245b8e992f7e9a0d0f3916b8d4e9c036e6a14f1 Deviation Status
flat 50k elements list 4009.96 ms 4125.79 ms -2.8075% ✅
flat 50k elements list (P95 of main thread blocks) 68 ms 74 ms -8.1081% ✅
grouping by label 9864.15 ms 10217.6 ms -3.4592% ✅
grouping by label (P95 of main thread blocks) 55 ms 67 ms -17.9104% ✅
grouping by class 9982.15 ms 10372.2 ms -3.7605% ✅
grouping by class (P95 of main thread blocks) 41 ms 42 ms -2.3810% ✅
grouping by property 10506.62 ms 10826.86 ms -2.9578% ✅
grouping by property (P95 of main thread blocks) 85 ms 49 ms 73.4694% 🚨
grouping by base class (10 classes) 7200.44 ms 7344.47 ms -1.9611% ✅
grouping by base class (10 classes) (P95 of main thread blocks) 74 ms 74 ms 0% 🟰
grouping by multiple attributes 26864.07 ms 27609.99 ms -2.7016% ✅
grouping by multiple attributes (P95 of main thread blocks) 44 ms 68 ms -35.2941% ✅
hide if no children required to finalize root, w/o children 43535.46 ms 47585.01 ms -8.5101% ✅
hide if no children required to finalize root, w/o children (P95 of main thread blocks) 40 ms 42 ms -4.7619% ✅
hide if no children required to finalize root, w/ children 157.65 ms 153.88 ms 2.4500% 🚨
hide if no children required to finalize root, w/ children (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
models tree initial (Baytown) 55.45 ms 56.68 ms -2.1701% ✅
models tree initial (Baytown) (P95 of main thread blocks) 0 ms 0 ms NaN% 🚨
models tree full (Baytown) 7477.04 ms 7633.97 ms -2.0557% ✅
models tree full (Baytown) (P95 of main thread blocks) 89 ms 105 ms -15.2381% ✅

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