Skip to content

Conversation

@fabioh8010
Copy link
Collaborator

Summary

Some component (example: AsyncComponent.tsx) can have different render counts due to its nature or behavior during tests. Currently these difference in render counts between baseline and delta will lead to decimal meanCount and stdCount results, which don't quite make sense since we are talking about renders (there are no "decimal" renders). This PR fix the result data by truncating these properties.

Test plan

Make sure unit tests pass.

@github-actions
Copy link
Contributor

Performance Comparison Report

  • Current: HEAD (840fb43) - 2025-07-23 16:04:17Z
  • Baseline: main (10720d3) - 2025-07-23 16:03:37Z

Significant Changes To Duration

There are no entries

Meaningless Changes To Duration

Show entries
Name Type Duration Count
`fib` function fib(30) function 39.2 ms → 39.2 ms (-0.0 ms, ±0.0%) 1 → 1
`fib` function fib(30) async async function 39.2 ms → 39.1 ms (-0.1 ms, ±0.0%) 1 → 1
`fib` function fib(31) function 63.4 ms → 63.4 ms (-0.0 ms, ±0.0%) 1 → 1
`fib` function fib(31) async async function 63.5 ms → 63.4 ms (-0.1 ms, ±0.0%) 1 → 1
`fib` function fib(32) function 102.5 ms → 102.6 ms (+0.0 ms, ±0.0%) 1 → 1
`fib` function fib(32) async async function 103.0 ms → 102.6 ms (-0.3 ms, ±0.0%) 1 → 1
<AsyncComponent />: 10 runs render 48.3 ms → 48.3 ms (-0.1 ms, ±0.0%) 4 → 4
<AsyncComponent />: 20 runs render 48.1 ms → 48.1 ms (+0.0 ms, ±0.0%) 4 → 4
Async Component render 76.6 ms → 78.9 ms (+2.4 ms, +3.1%) 7 → 7
InitialRenders 1 render 1.1 ms → 1.1 ms (-0.0 ms, -0.7%) 2 → 2
InitialRenders 3 render 1.1 ms → 1.2 ms (+0.0 ms, +2.9%) 4 → 4
ManyRenderIssues render 1.3 ms → 1.4 ms (+0.0 ms, +1.7%) 5 → 5
RedundantUpdates render 0.8 ms → 0.8 ms (+0.0 ms, +4.5%) 2 → 2
Show details
Name Type Duration Count
`fib` function fib(30) function Baseline
Mean: 39.2 ms
Stdev: 0.4 ms (0.9%)
Runs: 39.0 39.1 39.0 39.0 39.1 40.0 39.3
Warmup runs: 39.6
Removed outliers: 43.5 50.7 49.8

Current
Mean: 39.2 ms
Stdev: 0.1 ms (0.2%)
Runs: 39.0 39.1 39.3 39.1 39.2 39.2 39.2 39.1 39.2 39.2
Warmup runs: 39.0
Removed outliers: (none)
Baseline
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1

Current
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1
`fib` function fib(30) async async function Baseline
Mean: 39.2 ms
Stdev: 0.2 ms (0.4%)
Runs: 38.8 39.0 39.2 39.2 39.2 39.3 39.3 39.3 39.3 39.2
Warmup runs: 43.7
Removed outliers: (none)

Current
Mean: 39.1 ms
Stdev: 0.1 ms (0.4%)
Runs: 39.0 39.3 39.1 39.2 39.1 39.1 39.1 38.7 39.1 39.2
Warmup runs: 38.7
Removed outliers: (none)
Baseline
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1

Current
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1
`fib` function fib(31) function Baseline
Mean: 63.4 ms
Stdev: 0.1 ms (0.2%)
Runs: 63.5 63.3 63.3 63.3 63.4 63.4 63.7 63.3 63.4 63.3
Warmup runs: 63.0
Removed outliers: (none)

Current
Mean: 63.4 ms
Stdev: 0.2 ms (0.3%)
Runs: 63.3 63.3 63.4 63.3 63.7 63.3 63.3
Warmup runs: 57.4
Removed outliers: 62.6 65.5 64.5
Baseline
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1

Current
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1
`fib` function fib(31) async async function Baseline
Mean: 63.5 ms
Stdev: 0.3 ms (0.5%)
Runs: 63.0 63.5 64.2 63.4 63.4 63.5 63.8 63.4 63.5 63.5
Warmup runs: 62.6
Removed outliers: (none)

Current
Mean: 63.4 ms
Stdev: 0.2 ms (0.3%)
Runs: 63.1 63.3 63.5 63.3 63.3 63.3 63.5 63.4 63.9
Warmup runs: 62.8
Removed outliers: 65.0
Baseline
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1

Current
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1
`fib` function fib(32) function Baseline
Mean: 102.5 ms
Stdev: 0.1 ms (0.1%)
Runs: 102.6 102.5 102.5 102.6 102.6 102.6 102.5 102.5 102.6 102.4
Warmup runs: 102.0
Removed outliers: (none)

Current
Mean: 102.6 ms
Stdev: 0.1 ms (0.1%)
Runs: 102.5 102.6 102.4 102.5 102.5 102.7 102.5 102.8 102.6
Warmup runs: 101.8
Removed outliers: 104.4
Baseline
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1

Current
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1
`fib` function fib(32) async async function Baseline
Mean: 103.0 ms
Stdev: 0.8 ms (0.8%)
Runs: 102.5 102.6 104.9 103.6 102.5 102.7 102.7 102.7 102.6
Warmup runs: 102.3
Removed outliers: 110.5

Current
Mean: 102.6 ms
Stdev: 0.3 ms (0.3%)
Runs: 102.4 102.9 102.4 102.9 102.5 102.5 103.2 102.4 102.5
Warmup runs: 102.1
Removed outliers: 112.2
Baseline
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1

Current
Mean: 1
Stdev: 0 (0.0%)
Runs: 1 1 1 1 1 1 1 1 1 1
<AsyncComponent />: 10 runs render Baseline
Mean: 48.3 ms
Stdev: 1.1 ms (2.3%)
Runs: 48.7 48.6 47.9 48.1 47.7 51.0 47.8 47.9 47.2
Warmup runs: 77.6
Removed outliers: 56.2

Current
Mean: 48.3 ms
Stdev: 0.3 ms (0.6%)
Runs: 47.9 48.5 48.3 48.8 48.1 48.3 48.2 48.0
Warmup runs: 113.8
Removed outliers: 52.3 60.9
Baseline
Mean: 4
Stdev: 0 (0.0%)
Runs: 4 4 4 4 4 4 4 4 4 4
Render issues:
- Initial updates: 1

Current
Mean: 4
Stdev: 0 (0.0%)
Runs: 4 4 4 4 4 4 4 4 4 4
Render issues:
- Initial updates: 1
<AsyncComponent />: 20 runs render Baseline
Mean: 48.1 ms
Stdev: 0.9 ms (1.9%)
Runs: 51.4 47.4 48.5 48.1 47.9 49.4 47.1 48.5 47.7 48.4 47.6 47.4 47.4 48.2 47.9 47.7 47.6 48.4 47.7 48.2
Warmup runs: 47.8
Removed outliers: (none)

Current
Mean: 48.1 ms
Stdev: 0.7 ms (1.5%)
Runs: 47.8 47.9 48.4 47.6 50.2 48.1 47.9 48.2 47.8 48.0 47.5 48.0 48.0 47.7 47.7 50.0 47.7 48.1 48.0
Warmup runs: 48.5
Removed outliers: 55.3
Baseline
Mean: 4
Stdev: 0 (0.0%)
Runs: 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Render issues:
- Initial updates: 1

Current
Mean: 4
Stdev: 0 (0.0%)
Runs: 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Render issues:
- Initial updates: 1
Async Component render Baseline
Mean: 76.6 ms
Stdev: 0.6 ms (0.8%)
Runs: 76.9 77.8 76.8 77.0 76.2 75.7 76.6 76.0 76.3
Warmup runs: 104.6
Removed outliers: 87.3

Current
Mean: 78.9 ms
Stdev: 0.5 ms (0.7%)
Runs: 79.3 78.9 78.5 78.7 78.5 79.3 80.1 78.6 78.6
Warmup runs: 106.0
Removed outliers: 86.7
Baseline
Mean: 7
Stdev: 0 (0.0%)
Runs: 7 7 7 7 7 7 7 7 7 7
Render issues:
- Initial updates: 1

Current
Mean: 7
Stdev: 0 (0.0%)
Runs: 7 7 7 7 7 7 7 7 7 7
Render issues:
- Initial updates: 1
InitialRenders 1 render Baseline
Mean: 1.1 ms
Stdev: 0.2 ms (19.9%)
Runs: 1.2 1.4 1.2 1.5 1.0 1.0 1.1 0.9 0.9 0.8
Warmup runs: 1397.7
Removed outliers: (none)

Current
Mean: 1.1 ms
Stdev: 0.2 ms (22.7%)
Runs: 1.1 1.3 1.1 1.7 1.0 1.1 1.1 0.9 0.9 0.8
Warmup runs: 22.4
Removed outliers: (none)
Baseline
Mean: 2
Stdev: 0 (0.0%)
Runs: 2 2 2 2 2 2 2 2 2 2
Render issues:
- Initial updates: 1

Current
Mean: 2
Stdev: 0 (0.0%)
Runs: 2 2 2 2 2 2 2 2 2 2
Render issues:
- Initial updates: 1
InitialRenders 3 render Baseline
Mean: 1.1 ms
Stdev: 0.0 ms (1.8%)
Runs: 1.2 1.1 1.2 1.1 1.1 1.1 1.1 1.1 1.1
Warmup runs: 1.2
Removed outliers: 1.5

Current
Mean: 1.2 ms
Stdev: 0.1 ms (4.5%)
Runs: 1.3 1.2 1.2 1.2 1.1 1.2 1.1 1.2 1.1 1.1
Warmup runs: 1.3
Removed outliers: (none)
Baseline
Mean: 4
Stdev: 0 (0.0%)
Runs: 4 4 4 4 4 4 4 4 4 4
Render issues:
- Initial updates: 3

Current
Mean: 4
Stdev: 0 (0.0%)
Runs: 4 4 4 4 4 4 4 4 4 4
Render issues:
- Initial updates: 3
ManyRenderIssues render Baseline
Mean: 1.3 ms
Stdev: 0.0 ms (2.1%)
Runs: 1.3 1.4 1.3 1.3 1.3 1.3 1.3 1.3 1.3 1.4
Warmup runs: 1.3
Removed outliers: (none)

Current
Mean: 1.4 ms
Stdev: 0.0 ms (2.6%)
Runs: 1.4 1.3 1.4 1.4 1.3 1.4 1.3 1.3 1.3 1.4
Warmup runs: 1.3
Removed outliers: (none)
Baseline
Mean: 5
Stdev: 0 (0.0%)
Runs: 5 5 5 5 5 5 5 5 5 5
Render issues:
- Initial updates: 2
- Redundant updates: 2 (3, 4)

Current
Mean: 5
Stdev: 0 (0.0%)
Runs: 5 5 5 5 5 5 5 5 5 5
Render issues:
- Initial updates: 2
- Redundant updates: 2 (3, 4)
RedundantUpdates render Baseline
Mean: 0.8 ms
Stdev: 0.0 ms (4.0%)
Runs: 0.8 0.8 0.7 0.8 0.8 0.7 0.8 0.8 0.8 0.8
Warmup runs: 0.8
Removed outliers: (none)

Current
Mean: 0.8 ms
Stdev: 0.1 ms (8.3%)
Runs: 1.0 0.8 0.8 0.8 0.8 0.9 0.8 0.8 0.8 0.8
Warmup runs: 0.8
Removed outliers: (none)
Baseline
Mean: 2
Stdev: 0 (0.0%)
Runs: 2 2 2 2 2 2 2 2 2 2
Render issues:
- Redundant updates: 1 (1)

Current
Mean: 2
Stdev: 0 (0.0%)
Runs: 2 2 2 2 2 2 2 2 2 2
Render issues:
- Redundant updates: 1 (1)

Render Count Changes

There are no entries

Render Issues

Name Initial Updates Redundant Updates
<AsyncComponent />: 10 runs 1 🔴 -
<AsyncComponent />: 20 runs 1 🔴 -
InitialRenders 1 1 🔴 -
InitialRenders 3 3 🔴 -
RedundantUpdates - 1 (1) 🔴
ManyRenderIssues 2 🔴 2 (3, 4) 🔴
Async Component 1 🔴 -

Added Entries

There are no entries

Removed Entries

There are no entries

Generated by 🚫 dangerJS against 42bb4cd

@mdjastrzebski
Copy link
Member

Let's not do it, rather we should apply outlier removal to render count as well (now we only do it only to render durations).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants