react icon indicating copy to clipboard operation
react copied to clipboard

enable isInputPending in Scheduler

Open noahlemen opened this issue 1 year ago • 3 comments

Summary

This has been enabled at Meta for some time, but it looks like the changes were never published here. Enables isInputPending at a maxYieldMs of 10ms. Removes enableIsInputPendingContinuous flag and its corresponding yield interval, as we ended up landing on a configuration where it never got used.

How did you test this change?

yarn test packages/scheduler/src/__tests__/Scheduler-test.js

noahlemen avatar Dec 11 '23 19:12 noahlemen

ah, need to update Scheduler tests

noahlemen avatar Dec 11 '23 19:12 noahlemen

Comparing: 0cdfef19b96cc6202d48e0812b5069c286d12b04...be752937d8b7f5ac244da488df1c6f51a7ef155e

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.min.js = 175.90 kB 175.90 kB = 54.75 kB 54.76 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 177.97 kB 177.97 kB = 55.39 kB 55.39 kB
facebook-www/ReactDOM-prod.classic.js = 570.21 kB 570.21 kB = 100.35 kB 100.35 kB
facebook-www/ReactDOM-prod.modern.js = 554.06 kB 554.06 kB = 97.43 kB 97.43 kB
oss-experimental/scheduler/cjs/scheduler.production.js +9.08% 16.84 kB 18.37 kB +9.66% 4.80 kB 5.27 kB
oss-stable-semver/scheduler/cjs/scheduler.production.js +9.08% 16.84 kB 18.37 kB +9.66% 4.80 kB 5.27 kB
oss-stable/scheduler/cjs/scheduler.production.js +9.08% 16.84 kB 18.37 kB +9.66% 4.80 kB 5.27 kB
oss-experimental/scheduler/cjs/scheduler.native.production.js +8.96% 17.07 kB 18.60 kB +9.90% 4.72 kB 5.18 kB
oss-stable-semver/scheduler/cjs/scheduler.native.production.js +8.96% 17.07 kB 18.60 kB +9.90% 4.72 kB 5.18 kB
oss-stable/scheduler/cjs/scheduler.native.production.js +8.96% 17.07 kB 18.60 kB +9.90% 4.72 kB 5.18 kB
oss-experimental/scheduler/cjs/scheduler.native.development.js +8.86% 17.18 kB 18.70 kB +9.81% 4.75 kB 5.22 kB
oss-stable-semver/scheduler/cjs/scheduler.native.development.js +8.86% 17.18 kB 18.70 kB +9.81% 4.75 kB 5.22 kB
oss-stable/scheduler/cjs/scheduler.native.development.js +8.86% 17.18 kB 18.70 kB +9.81% 4.75 kB 5.22 kB
oss-experimental/scheduler/cjs/scheduler.development.js +8.66% 17.58 kB 19.10 kB +9.28% 4.97 kB 5.43 kB
oss-stable-semver/scheduler/cjs/scheduler.development.js +8.66% 17.58 kB 19.10 kB +9.28% 4.97 kB 5.43 kB
oss-stable/scheduler/cjs/scheduler.development.js +8.66% 17.58 kB 19.10 kB +9.28% 4.97 kB 5.43 kB
facebook-react-native/scheduler/cjs/Scheduler-dev.js +8.56% 19.67 kB 21.35 kB +9.25% 5.08 kB 5.55 kB
oss-experimental/scheduler/cjs/scheduler.production.min.js +3.43% 4.26 kB 4.41 kB +2.01% 1.79 kB 1.82 kB
oss-stable-semver/scheduler/cjs/scheduler.production.min.js +3.43% 4.26 kB 4.41 kB +2.01% 1.79 kB 1.82 kB
oss-stable/scheduler/cjs/scheduler.production.min.js +3.43% 4.26 kB 4.41 kB +2.01% 1.79 kB 1.82 kB
facebook-react-native/scheduler/cjs/Scheduler-prod.js +3.40% 10.60 kB 10.96 kB +2.60% 2.65 kB 2.72 kB
facebook-react-native/scheduler/cjs/Scheduler-profiling.js +3.26% 11.03 kB 11.39 kB +2.43% 2.76 kB 2.82 kB
oss-experimental/scheduler/cjs/scheduler.native.production.min.js +3.22% 4.69 kB 4.84 kB +1.74% 1.73 kB 1.76 kB
oss-stable-semver/scheduler/cjs/scheduler.native.production.min.js +3.22% 4.69 kB 4.84 kB +1.74% 1.73 kB 1.76 kB
oss-stable/scheduler/cjs/scheduler.native.production.min.js +3.22% 4.69 kB 4.84 kB +1.74% 1.73 kB 1.76 kB
facebook-www/Scheduler-dev.classic.js = 28.20 kB 27.59 kB = 6.77 kB 6.66 kB
facebook-www/Scheduler-dev.modern.js = 28.20 kB 27.59 kB = 6.77 kB 6.66 kB
test_utils/ReactAllWarnings.js Deleted 67.41 kB 0.00 kB Deleted 16.49 kB 0.00 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-experimental/scheduler/cjs/scheduler.production.js +9.08% 16.84 kB 18.37 kB +9.66% 4.80 kB 5.27 kB
oss-stable-semver/scheduler/cjs/scheduler.production.js +9.08% 16.84 kB 18.37 kB +9.66% 4.80 kB 5.27 kB
oss-stable/scheduler/cjs/scheduler.production.js +9.08% 16.84 kB 18.37 kB +9.66% 4.80 kB 5.27 kB
oss-experimental/scheduler/cjs/scheduler.native.production.js +8.96% 17.07 kB 18.60 kB +9.90% 4.72 kB 5.18 kB
oss-stable-semver/scheduler/cjs/scheduler.native.production.js +8.96% 17.07 kB 18.60 kB +9.90% 4.72 kB 5.18 kB
oss-stable/scheduler/cjs/scheduler.native.production.js +8.96% 17.07 kB 18.60 kB +9.90% 4.72 kB 5.18 kB
oss-experimental/scheduler/cjs/scheduler.native.development.js +8.86% 17.18 kB 18.70 kB +9.81% 4.75 kB 5.22 kB
oss-stable-semver/scheduler/cjs/scheduler.native.development.js +8.86% 17.18 kB 18.70 kB +9.81% 4.75 kB 5.22 kB
oss-stable/scheduler/cjs/scheduler.native.development.js +8.86% 17.18 kB 18.70 kB +9.81% 4.75 kB 5.22 kB
oss-experimental/scheduler/cjs/scheduler.development.js +8.66% 17.58 kB 19.10 kB +9.28% 4.97 kB 5.43 kB
oss-stable-semver/scheduler/cjs/scheduler.development.js +8.66% 17.58 kB 19.10 kB +9.28% 4.97 kB 5.43 kB
oss-stable/scheduler/cjs/scheduler.development.js +8.66% 17.58 kB 19.10 kB +9.28% 4.97 kB 5.43 kB
facebook-react-native/scheduler/cjs/Scheduler-dev.js +8.56% 19.67 kB 21.35 kB +9.25% 5.08 kB 5.55 kB
oss-experimental/scheduler/cjs/scheduler.production.min.js +3.43% 4.26 kB 4.41 kB +2.01% 1.79 kB 1.82 kB
oss-stable-semver/scheduler/cjs/scheduler.production.min.js +3.43% 4.26 kB 4.41 kB +2.01% 1.79 kB 1.82 kB
oss-stable/scheduler/cjs/scheduler.production.min.js +3.43% 4.26 kB 4.41 kB +2.01% 1.79 kB 1.82 kB
facebook-react-native/scheduler/cjs/Scheduler-prod.js +3.40% 10.60 kB 10.96 kB +2.60% 2.65 kB 2.72 kB
facebook-react-native/scheduler/cjs/Scheduler-profiling.js +3.26% 11.03 kB 11.39 kB +2.43% 2.76 kB 2.82 kB
oss-experimental/scheduler/cjs/scheduler.native.production.min.js +3.22% 4.69 kB 4.84 kB +1.74% 1.73 kB 1.76 kB
oss-stable-semver/scheduler/cjs/scheduler.native.production.min.js +3.22% 4.69 kB 4.84 kB +1.74% 1.73 kB 1.76 kB
oss-stable/scheduler/cjs/scheduler.native.production.min.js +3.22% 4.69 kB 4.84 kB +1.74% 1.73 kB 1.76 kB
oss-stable-semver/react/umd/react.development.js +1.28% 123.43 kB 125.02 kB +1.45% 31.87 kB 32.33 kB
oss-stable/react/umd/react.development.js +1.28% 123.46 kB 125.04 kB +1.45% 31.89 kB 32.36 kB
oss-stable-semver/react/umd/react.profiling.min.js +1.27% 11.63 kB 11.78 kB +0.81% 4.56 kB 4.59 kB
oss-stable-semver/react/umd/react.production.min.js +1.27% 11.64 kB 11.78 kB +0.83% 4.56 kB 4.59 kB
oss-stable/react/umd/react.profiling.min.js +1.27% 11.66 kB 11.81 kB +0.85% 4.58 kB 4.62 kB
oss-stable/react/umd/react.production.min.js +1.27% 11.66 kB 11.81 kB +0.85% 4.58 kB 4.62 kB
oss-experimental/react/umd/react.development.js +1.23% 129.18 kB 130.76 kB +1.34% 33.44 kB 33.88 kB
oss-experimental/react/umd/react.profiling.min.js +1.14% 13.07 kB 13.22 kB +0.74% 5.02 kB 5.05 kB
oss-experimental/react/umd/react.production.min.js +1.14% 13.07 kB 13.22 kB +0.72% 5.02 kB 5.05 kB
facebook-www/Scheduler-profiling.classic.js = 15.54 kB 15.37 kB = 3.64 kB 3.59 kB
facebook-www/Scheduler-profiling.modern.js = 15.54 kB 15.37 kB = 3.64 kB 3.59 kB
facebook-www/Scheduler-prod.classic.js = 11.57 kB 11.40 kB = 2.83 kB 2.79 kB
facebook-www/Scheduler-prod.modern.js = 11.57 kB 11.40 kB = 2.83 kB 2.79 kB
facebook-www/Scheduler-dev.classic.js = 28.20 kB 27.59 kB = 6.77 kB 6.66 kB
facebook-www/Scheduler-dev.modern.js = 28.20 kB 27.59 kB = 6.77 kB 6.66 kB
test_utils/ReactAllWarnings.js Deleted 67.41 kB 0.00 kB Deleted 16.49 kB 0.00 kB

Generated by :no_entry_sign: dangerJS against be752937d8b7f5ac244da488df1c6f51a7ef155e

react-sizebot avatar Dec 11 '23 19:12 react-sizebot

@rickhanlonii yeah, this is already implemented with feature detection: https://github.com/facebook/react/blob/noahlemen-iip-scheduler/packages/scheduler/src/forks/Scheduler.js#L104-L111

it will continue with the 5ms frame interval if its not defined: https://github.com/facebook/react/blob/noahlemen-iip-scheduler/packages/scheduler/src/forks/Scheduler.js#L472-L503

noahlemen avatar Dec 13 '23 16:12 noahlemen