Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: update compiler warnings counter #8535

Merged
merged 1 commit into from
Feb 7, 2025
Merged

Conversation

stipsan
Copy link
Member

@stipsan stipsan commented Feb 7, 2025

Description

#8513 fixed a react compiler bailout.
This bailout were flagged as invalid/unsafe react, having a cachedSystemGroups = groups assignment as a side-effect inside a useMemo closure is dangerous and relies on internal React behaviour, which can change in a minor/patch version of React.

The new code has a different bailout, it's not actionable though as the code is valid. The compiler is simply seeing that the memoization it creates looks different than the manual useMemo code, and so it bails out due to an abundance of caution. We can expect it to stop bailing out by the time the compiler reaches a stable release (it's currently in beta).

What to review

- --max-warnings 25
+ --max-warnings 24

Testing

I ran pnpm check:react-compiler and noted down the new count of warnings.

Notes for release

N/A

@stipsan stipsan requested a review from a team as a code owner February 7, 2025 10:19
@stipsan stipsan requested review from juice49 and removed request for a team February 7, 2025 10:19
Copy link

vercel bot commented Feb 7, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
page-building-studio ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 7, 2025 10:19am
performance-studio ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 7, 2025 10:19am
test-studio ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 7, 2025 10:19am
2 Skipped Deployments
Name Status Preview Comments Updated (UTC)
studio-workshop ⬜️ Ignored (Inspect) Feb 7, 2025 10:19am
test-next-studio ⬜️ Ignored (Inspect) Feb 7, 2025 10:19am

Copy link
Contributor

github-actions bot commented Feb 7, 2025

No changes to documentation

@stipsan stipsan enabled auto-merge February 7, 2025 10:21
Copy link
Contributor

github-actions bot commented Feb 7, 2025

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 42.45% 53812 / 126761
🔵 Statements 42.45% 53812 / 126761
🔵 Functions 47.94% 2772 / 5782
🔵 Branches 78.71% 10272 / 13050
File CoverageNo changed files found.
Generated in workflow #29976 for commit e9d0c40 by the Vitest Coverage Report Action

Copy link
Contributor

github-actions bot commented Feb 7, 2025

Component Testing Report Updated Feb 7, 2025 10:26 AM (UTC)

❌ Failed Tests (1) -- expand for details
File Status Duration Passed Skipped Failed
comments/CommentInput.spec.tsx ✅ Passed (Inspect) 1m 4s 15 0 0
formBuilder/ArrayInput.spec.tsx ✅ Passed (Inspect) 12s 3 0 0
formBuilder/inputs/PortableText/Annotations.spec.tsx ❌ Failed (Inspect) 1m 20s 5 0 1
formBuilder/inputs/PortableText/copyPaste/CopyPaste.spec.tsx ✅ Passed (Inspect) 51s 11 7 0
formBuilder/inputs/PortableText/copyPaste/CopyPasteFields.spec.tsx ✅ Passed (Inspect) 0s 0 12 0
formBuilder/inputs/PortableText/Decorators.spec.tsx ✅ Passed (Inspect) 25s 6 0 0
formBuilder/inputs/PortableText/DisableFocusAndUnset.spec.tsx ✅ Passed (Inspect) 14s 3 0 0
formBuilder/inputs/PortableText/DragAndDrop.spec.tsx ✅ Passed (Inspect) 27s 6 0 0
formBuilder/inputs/PortableText/FocusTracking.spec.tsx ✅ Passed (Inspect) 1m 7s 15 0 0
formBuilder/inputs/PortableText/Input.spec.tsx ✅ Passed (Inspect) 1m 31s 21 0 0
formBuilder/inputs/PortableText/ObjectBlock.spec.tsx ✅ Passed (Inspect) 2m 3s 21 0 0
formBuilder/inputs/PortableText/PresenceCursors.spec.tsx ✅ Passed (Inspect) 13s 3 9 0
formBuilder/inputs/PortableText/Styles.spec.tsx ✅ Passed (Inspect) 26s 6 0 0
formBuilder/inputs/PortableText/Toolbar.spec.tsx ✅ Passed (Inspect) 1m 43s 21 0 0
formBuilder/tree-editing/TreeEditing.spec.tsx ✅ Passed (Inspect) 0s 0 3 0
formBuilder/tree-editing/TreeEditingNestedObjects.spec.tsx ✅ Passed (Inspect) 0s 0 3 0

Copy link
Contributor

github-actions bot commented Feb 7, 2025

⚡️ Editor Performance Report

Updated Fri, 07 Feb 2025 10:31:46 GMT

Benchmark reference
latency of sanity@latest
experiment
latency of this branch
Δ (%)
latency difference
article (title) 25.0 efps (40ms) 24.4 efps (41ms) +1ms (+2.5%)
article (body) 72.5 efps (14ms) 72.5 efps (14ms) +0ms (-/-%)
article (string inside object) 25.0 efps (40ms) 26.3 efps (38ms) -2ms (-5.0%)
article (string inside array) 22.2 efps (45ms) 23.0 efps (44ms) -2ms (-3.3%)
recipe (name) 45.5 efps (22ms) 45.5 efps (22ms) +0ms (-/-%)
recipe (description) 50.0 efps (20ms) 50.0 efps (20ms) +0ms (-/-%)
recipe (instructions) 99.9+ efps (6ms) 99.9+ efps (6ms) +0ms (-/-%)
synthetic (title) 17.9 efps (56ms) 18.2 efps (55ms) -1ms (-1.8%)
synthetic (string inside object) 18.9 efps (53ms) 18.5 efps (54ms) +1ms (+1.9%)

efps — editor "frames per second". The number of updates assumed to be possible within a second.

Derived from input latency. efps = 1000 / input_latency

Detailed information

🏠 Reference result

The performance result of sanity@latest

Benchmark latency p75 p90 p99 blocking time test duration
article (title) 40ms 49ms 67ms 406ms 1011ms 10.9s
article (body) 14ms 16ms 29ms 220ms 318ms 5.8s
article (string inside object) 40ms 42ms 50ms 236ms 295ms 7.1s
article (string inside array) 45ms 46ms 52ms 82ms 346ms 7.2s
recipe (name) 22ms 24ms 26ms 50ms 0ms 7.6s
recipe (description) 20ms 22ms 24ms 48ms 0ms 4.7s
recipe (instructions) 6ms 8ms 9ms 16ms 0ms 3.2s
synthetic (title) 56ms 60ms 70ms 377ms 1457ms 14.0s
synthetic (string inside object) 53ms 54ms 58ms 472ms 826ms 8.5s

🧪 Experiment result

The performance result of this branch

Benchmark latency p75 p90 p99 blocking time test duration
article (title) 41ms 55ms 68ms 452ms 890ms 10.8s
article (body) 14ms 16ms 24ms 80ms 316ms 5.3s
article (string inside object) 38ms 40ms 42ms 175ms 365ms 6.8s
article (string inside array) 44ms 45ms 48ms 255ms 293ms 7.4s
recipe (name) 22ms 24ms 27ms 58ms 0ms 8.0s
recipe (description) 20ms 22ms 24ms 46ms 0ms 4.8s
recipe (instructions) 6ms 7ms 8ms 32ms 0ms 3.1s
synthetic (title) 55ms 59ms 70ms 177ms 713ms 13.6s
synthetic (string inside object) 54ms 57ms 68ms 528ms 1777ms 9.1s

📚 Glossary

column definitions

  • benchmark — the name of the test, e.g. "article", followed by the label of the field being measured, e.g. "(title)".
  • latency — the time between when a key was pressed and when it was rendered. derived from a set of samples. the median (p50) is shown to show the most common latency.
  • p75 — the 75th percentile of the input latency in the test run. 75% of the sampled inputs in this benchmark were processed faster than this value. this provides insight into the upper range of typical performance.
  • p90 — the 90th percentile of the input latency in the test run. 90% of the sampled inputs were faster than this. this metric helps identify slower interactions that occurred less frequently during the benchmark.
  • p99 — the 99th percentile of the input latency in the test run. only 1% of sampled inputs were slower than this. this represents the worst-case scenarios encountered during the benchmark, useful for identifying potential performance outliers.
  • blocking time — the total time during which the main thread was blocked, preventing user input and UI updates. this metric helps identify performance bottlenecks that may cause the interface to feel unresponsive.
  • test duration — how long the test run took to complete.

Copy link
Contributor

@juice49 juice49 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the explanation, Cody! Looks good to me.

@stipsan stipsan added this pull request to the merge queue Feb 7, 2025
Merged via the queue into next with commit 2343cd3 Feb 7, 2025
62 checks passed
@stipsan stipsan deleted the update-react-compiler-counter branch February 7, 2025 11:29
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.

2 participants