From 2c022b847ed2171c59d37db9f71b394e0082ae3f Mon Sep 17 00:00:00 2001 From: Dmytro Rykun Date: Fri, 10 May 2024 11:00:03 +0100 Subject: [PATCH] Clean up the enableEarlyReturnForPropDiffing experiment (#29041) ## Summary The experiment has shown no significant performance changes. This PR removes it. ## How did you test this change? ``` yarn flow native yarn lint ``` --- .../src/ReactNativeAttributePayload.js | 7 ------- .../src/ReactNativeAttributePayloadFabric.js | 6 ------ packages/shared/ReactFeatureFlags.js | 2 -- .../shared/forks/ReactFeatureFlags.native-fb-dynamic.js | 1 - packages/shared/forks/ReactFeatureFlags.native-fb.js | 1 - packages/shared/forks/ReactFeatureFlags.native-oss.js | 1 - packages/shared/forks/ReactFeatureFlags.test-renderer.js | 1 - .../forks/ReactFeatureFlags.test-renderer.native-fb.js | 1 - .../shared/forks/ReactFeatureFlags.test-renderer.www.js | 1 - packages/shared/forks/ReactFeatureFlags.www.js | 1 - 10 files changed, 22 deletions(-) diff --git a/packages/react-native-renderer/src/ReactNativeAttributePayload.js b/packages/react-native-renderer/src/ReactNativeAttributePayload.js index 0b316ff1ab875..68ba068308b9c 100644 --- a/packages/react-native-renderer/src/ReactNativeAttributePayload.js +++ b/packages/react-native-renderer/src/ReactNativeAttributePayload.js @@ -14,8 +14,6 @@ import { } from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface'; import isArray from 'shared/isArray'; -import {enableEarlyReturnForPropDiffing} from 'shared/ReactFeatureFlags'; - import type {AttributeConfiguration} from './ReactNativeTypes'; const emptyObject = {}; @@ -485,11 +483,6 @@ export function diff( nextProps: Object, validAttributes: AttributeConfiguration, ): null | Object { - if (enableEarlyReturnForPropDiffing) { - if (prevProps === nextProps) { - return null; // no change - } - } return diffProperties( null, // updatePayload prevProps, diff --git a/packages/react-native-renderer/src/ReactNativeAttributePayloadFabric.js b/packages/react-native-renderer/src/ReactNativeAttributePayloadFabric.js index f23d7776ff4fd..0143ab28431c9 100644 --- a/packages/react-native-renderer/src/ReactNativeAttributePayloadFabric.js +++ b/packages/react-native-renderer/src/ReactNativeAttributePayloadFabric.js @@ -14,7 +14,6 @@ import { } from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface'; import isArray from 'shared/isArray'; -import {enableEarlyReturnForPropDiffing} from 'shared/ReactFeatureFlags'; import {enableAddPropertiesFastPath} from 'shared/ReactFeatureFlags'; import type {AttributeConfiguration} from './ReactNativeTypes'; @@ -551,11 +550,6 @@ export function diff( nextProps: Object, validAttributes: AttributeConfiguration, ): null | Object { - if (enableEarlyReturnForPropDiffing) { - if (prevProps === nextProps) { - return null; // no change - } - } return diffProperties( null, // updatePayload prevProps, diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index ff7a1a2f39459..35a2e822e480c 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -121,8 +121,6 @@ export const passChildrenWhenCloningPersistedNodes = false; export const enableServerComponentLogs = __EXPERIMENTAL__; -export const enableEarlyReturnForPropDiffing = false; - export const enableAddPropertiesFastPath = false; export const enableOwnerStacks = __EXPERIMENTAL__; diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js b/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js index 1aa9154eb5a12..2bd7edb7b1c0d 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js +++ b/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js @@ -23,7 +23,6 @@ export const disableDefaultPropsExceptForClasses = __VARIANT__; export const disableStringRefs = __VARIANT__; export const enableAddPropertiesFastPath = __VARIANT__; export const enableDeferRootSchedulingToMicrotask = __VARIANT__; -export const enableEarlyReturnForPropDiffing = __VARIANT__; export const enableFastJSX = __VARIANT__; export const enableInfiniteRenderLoopDetection = __VARIANT__; export const enableRefAsProp = __VARIANT__; diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb.js b/packages/shared/forks/ReactFeatureFlags.native-fb.js index 8be4796e0ff66..92fd9f4126178 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-fb.js +++ b/packages/shared/forks/ReactFeatureFlags.native-fb.js @@ -25,7 +25,6 @@ export const { disableStringRefs, enableAddPropertiesFastPath, enableDeferRootSchedulingToMicrotask, - enableEarlyReturnForPropDiffing, enableFastJSX, enableInfiniteRenderLoopDetection, enableRefAsProp, diff --git a/packages/shared/forks/ReactFeatureFlags.native-oss.js b/packages/shared/forks/ReactFeatureFlags.native-oss.js index aeb6a7d0b072f..7e16ee25b4578 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-oss.js +++ b/packages/shared/forks/ReactFeatureFlags.native-oss.js @@ -101,7 +101,6 @@ export const allowConcurrentByDefault = false; export const enableTransitionTracing = false; export const enableDO_NOT_USE_disableStrictPassiveEffect = false; export const passChildrenWhenCloningPersistedNodes = false; -export const enableEarlyReturnForPropDiffing = false; export const enableAsyncIterableChildren = false; export const enableAddPropertiesFastPath = false; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.js index bda1b19c4f325..4504d08fecca0 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.js @@ -76,7 +76,6 @@ export const disableClientCache = true; export const enableServerComponentLogs = true; export const enableInfiniteRenderLoopDetection = false; -export const enableEarlyReturnForPropDiffing = false; export const enableAddPropertiesFastPath = false; export const renameElementSymbol = true; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js index 62f27a8dca536..41aea40e765d2 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js @@ -88,7 +88,6 @@ export const disableLegacyMode = false; export const disableDOMTestUtils = false; export const disableDefaultPropsExceptForClasses = false; -export const enableEarlyReturnForPropDiffing = false; export const enableAddPropertiesFastPath = false; export const renameElementSymbol = false; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js index c12d49a0fef24..0aac888de99ec 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js @@ -88,7 +88,6 @@ export const disableLegacyMode = false; export const disableDOMTestUtils = false; export const disableDefaultPropsExceptForClasses = false; -export const enableEarlyReturnForPropDiffing = false; export const enableAddPropertiesFastPath = false; export const renameElementSymbol = false; diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js index 8dd8495a68464..f135724f99944 100644 --- a/packages/shared/forks/ReactFeatureFlags.www.js +++ b/packages/shared/forks/ReactFeatureFlags.www.js @@ -121,7 +121,6 @@ export const disableStringRefs = false; export const disableLegacyMode = __EXPERIMENTAL__; export const disableDOMTestUtils = false; -export const enableEarlyReturnForPropDiffing = false; export const enableOwnerStacks = false;