Skip to content

Commit 4c163ed

Browse files
committed
Use fastAddProperties in diffing (#32243)
## Summary `fastAddProperties` has shown some perf benefits when used for creating props payload for new components. In this PR we'll try to use it for diffing props for existing components. It would be good enough if it simply doesn't regress perf. We'll be able to delete the old `addProperties`, and make `fastAddProperties` the default behaviour. ## How did you test this change? ``` yarn lint yarn flow native yarn test packages/react-native-renderer -r=xplat --variant=false yarn test packages/react-native-renderer -r=xplat --variant=true ``` DiffTrain build for [bb9a24d](bb9a24d)
1 parent ace656d commit 4c163ed

23 files changed

+106
-104
lines changed

compiled-rn/VERSION_NATIVE_FB

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19.1.0-native-fb-b2357ecd-20250129
1+
19.1.0-native-fb-bb9a24d9-20250130

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-dev.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<e7eb3c6d9a2a4f3340df2eafbfd5c6b0>>
10+
* @generated SignedSource<<8d5e7d372fe2fd0f37a10f34d40bbb1a>>
1111
*/
1212

1313
"use strict";
@@ -428,5 +428,5 @@ __DEV__ &&
428428
exports.useFormStatus = function () {
429429
return resolveDispatcher().useHostTransitionStatus();
430430
};
431-
exports.version = "19.1.0-native-fb-b2357ecd-20250129";
431+
exports.version = "19.1.0-native-fb-bb9a24d9-20250130";
432432
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-prod.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<e2a61ff34ab312538b10a63ef98e30f4>>
10+
* @generated SignedSource<<b9ff6276b3a71ecf83952af1e68c394c>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.1.0-native-fb-b2357ecd-20250129";
206+
exports.version = "19.1.0-native-fb-bb9a24d9-20250130";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-profiling.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<e2a61ff34ab312538b10a63ef98e30f4>>
10+
* @generated SignedSource<<b9ff6276b3a71ecf83952af1e68c394c>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.1.0-native-fb-b2357ecd-20250129";
206+
exports.version = "19.1.0-native-fb-bb9a24d9-20250130";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-dev.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<87ac4338514be4e3622b74d3426eb442>>
10+
* @generated SignedSource<<c2edbc55da54de46ccc8ff35ac433fbc>>
1111
*/
1212

1313
/*
@@ -26013,11 +26013,11 @@ __DEV__ &&
2601326013
};
2601426014
(function () {
2601526015
var isomorphicReactPackageVersion = React.version;
26016-
if ("19.1.0-native-fb-b2357ecd-20250129" !== isomorphicReactPackageVersion)
26016+
if ("19.1.0-native-fb-bb9a24d9-20250130" !== isomorphicReactPackageVersion)
2601726017
throw Error(
2601826018
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2601926019
(isomorphicReactPackageVersion +
26020-
"\n - react-dom: 19.1.0-native-fb-b2357ecd-20250129\nLearn more: https://react.dev/warnings/version-mismatch")
26020+
"\n - react-dom: 19.1.0-native-fb-bb9a24d9-20250130\nLearn more: https://react.dev/warnings/version-mismatch")
2602126021
);
2602226022
})();
2602326023
("function" === typeof Map &&
@@ -26054,10 +26054,10 @@ __DEV__ &&
2605426054
!(function () {
2605526055
var internals = {
2605626056
bundleType: 1,
26057-
version: "19.1.0-native-fb-b2357ecd-20250129",
26057+
version: "19.1.0-native-fb-bb9a24d9-20250130",
2605826058
rendererPackageName: "react-dom",
2605926059
currentDispatcherRef: ReactSharedInternals,
26060-
reconcilerVersion: "19.1.0-native-fb-b2357ecd-20250129"
26060+
reconcilerVersion: "19.1.0-native-fb-bb9a24d9-20250130"
2606126061
};
2606226062
internals.overrideHookState = overrideHookState;
2606326063
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -26203,5 +26203,5 @@ __DEV__ &&
2620326203
listenToAllSupportedEvents(container);
2620426204
return new ReactDOMHydrationRoot(initialChildren);
2620526205
};
26206-
exports.version = "19.1.0-native-fb-b2357ecd-20250129";
26206+
exports.version = "19.1.0-native-fb-bb9a24d9-20250130";
2620726207
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-prod.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<fa018f9bc75fd0e409da24dec711e2ff>>
10+
* @generated SignedSource<<6bdd9b6624ee084c8fac56a8ac35f8db>>
1111
*/
1212

1313
/*
@@ -16017,14 +16017,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1601716017
};
1601816018
var isomorphicReactPackageVersion$jscomp$inline_1787 = React.version;
1601916019
if (
16020-
"19.1.0-native-fb-b2357ecd-20250129" !==
16020+
"19.1.0-native-fb-bb9a24d9-20250130" !==
1602116021
isomorphicReactPackageVersion$jscomp$inline_1787
1602216022
)
1602316023
throw Error(
1602416024
formatProdErrorMessage(
1602516025
527,
1602616026
isomorphicReactPackageVersion$jscomp$inline_1787,
16027-
"19.1.0-native-fb-b2357ecd-20250129"
16027+
"19.1.0-native-fb-bb9a24d9-20250130"
1602816028
)
1602916029
);
1603016030
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16046,10 +16046,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1604616046
};
1604716047
var internals$jscomp$inline_2243 = {
1604816048
bundleType: 0,
16049-
version: "19.1.0-native-fb-b2357ecd-20250129",
16049+
version: "19.1.0-native-fb-bb9a24d9-20250130",
1605016050
rendererPackageName: "react-dom",
1605116051
currentDispatcherRef: ReactSharedInternals,
16052-
reconcilerVersion: "19.1.0-native-fb-b2357ecd-20250129"
16052+
reconcilerVersion: "19.1.0-native-fb-bb9a24d9-20250130"
1605316053
};
1605416054
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1605516055
var hook$jscomp$inline_2244 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -16155,4 +16155,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1615516155
listenToAllSupportedEvents(container);
1615616156
return new ReactDOMHydrationRoot(initialChildren);
1615716157
};
16158-
exports.version = "19.1.0-native-fb-b2357ecd-20250129";
16158+
exports.version = "19.1.0-native-fb-bb9a24d9-20250130";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-profiling.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<3982b68765ccb571ea900d3da1854d61>>
10+
* @generated SignedSource<<4e667433cc2a2c4df9b05d25cb228a81>>
1111
*/
1212

1313
/*
@@ -16666,14 +16666,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1666616666
};
1666716667
var isomorphicReactPackageVersion$jscomp$inline_1882 = React.version;
1666816668
if (
16669-
"19.1.0-native-fb-b2357ecd-20250129" !==
16669+
"19.1.0-native-fb-bb9a24d9-20250130" !==
1667016670
isomorphicReactPackageVersion$jscomp$inline_1882
1667116671
)
1667216672
throw Error(
1667316673
formatProdErrorMessage(
1667416674
527,
1667516675
isomorphicReactPackageVersion$jscomp$inline_1882,
16676-
"19.1.0-native-fb-b2357ecd-20250129"
16676+
"19.1.0-native-fb-bb9a24d9-20250130"
1667716677
)
1667816678
);
1667916679
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16695,10 +16695,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1669516695
};
1669616696
var internals$jscomp$inline_1889 = {
1669716697
bundleType: 0,
16698-
version: "19.1.0-native-fb-b2357ecd-20250129",
16698+
version: "19.1.0-native-fb-bb9a24d9-20250130",
1669916699
rendererPackageName: "react-dom",
1670016700
currentDispatcherRef: ReactSharedInternals,
16701-
reconcilerVersion: "19.1.0-native-fb-b2357ecd-20250129",
16701+
reconcilerVersion: "19.1.0-native-fb-bb9a24d9-20250130",
1670216702
getLaneLabelMap: function () {
1670316703
for (
1670416704
var map = new Map(), lane = 1, index$294 = 0;
@@ -16819,4 +16819,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1681916819
listenToAllSupportedEvents(container);
1682016820
return new ReactDOMHydrationRoot(initialChildren);
1682116821
};
16822-
exports.version = "19.1.0-native-fb-b2357ecd-20250129";
16822+
exports.version = "19.1.0-native-fb-bb9a24d9-20250130";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-dev.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<f57d7919743dbca38f8440493151e73a>>
10+
* @generated SignedSource<<8653f5df6e539b1ff3bf130473ee6881>>
1111
*/
1212

1313
/*
@@ -26074,11 +26074,11 @@ __DEV__ &&
2607426074
};
2607526075
(function () {
2607626076
var isomorphicReactPackageVersion = React.version;
26077-
if ("19.1.0-native-fb-b2357ecd-20250129" !== isomorphicReactPackageVersion)
26077+
if ("19.1.0-native-fb-bb9a24d9-20250130" !== isomorphicReactPackageVersion)
2607826078
throw Error(
2607926079
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2608026080
(isomorphicReactPackageVersion +
26081-
"\n - react-dom: 19.1.0-native-fb-b2357ecd-20250129\nLearn more: https://react.dev/warnings/version-mismatch")
26081+
"\n - react-dom: 19.1.0-native-fb-bb9a24d9-20250130\nLearn more: https://react.dev/warnings/version-mismatch")
2608226082
);
2608326083
})();
2608426084
("function" === typeof Map &&
@@ -26115,10 +26115,10 @@ __DEV__ &&
2611526115
!(function () {
2611626116
var internals = {
2611726117
bundleType: 1,
26118-
version: "19.1.0-native-fb-b2357ecd-20250129",
26118+
version: "19.1.0-native-fb-bb9a24d9-20250130",
2611926119
rendererPackageName: "react-dom",
2612026120
currentDispatcherRef: ReactSharedInternals,
26121-
reconcilerVersion: "19.1.0-native-fb-b2357ecd-20250129"
26121+
reconcilerVersion: "19.1.0-native-fb-bb9a24d9-20250130"
2612226122
};
2612326123
internals.overrideHookState = overrideHookState;
2612426124
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -26580,7 +26580,7 @@ __DEV__ &&
2658026580
exports.useFormStatus = function () {
2658126581
return resolveDispatcher().useHostTransitionStatus();
2658226582
};
26583-
exports.version = "19.1.0-native-fb-b2357ecd-20250129";
26583+
exports.version = "19.1.0-native-fb-bb9a24d9-20250130";
2658426584
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
2658526585
"function" ===
2658626586
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-prod.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<b18d62fa609cf5f63467d213540f014c>>
10+
* @generated SignedSource<<fdcebb0383eed880e45461639481547e>>
1111
*/
1212

1313
/*
@@ -16028,14 +16028,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1602816028
};
1602916029
var isomorphicReactPackageVersion$jscomp$inline_1788 = React.version;
1603016030
if (
16031-
"19.1.0-native-fb-b2357ecd-20250129" !==
16031+
"19.1.0-native-fb-bb9a24d9-20250130" !==
1603216032
isomorphicReactPackageVersion$jscomp$inline_1788
1603316033
)
1603416034
throw Error(
1603516035
formatProdErrorMessage(
1603616036
527,
1603716037
isomorphicReactPackageVersion$jscomp$inline_1788,
16038-
"19.1.0-native-fb-b2357ecd-20250129"
16038+
"19.1.0-native-fb-bb9a24d9-20250130"
1603916039
)
1604016040
);
1604116041
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16057,10 +16057,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1605716057
};
1605816058
var internals$jscomp$inline_2246 = {
1605916059
bundleType: 0,
16060-
version: "19.1.0-native-fb-b2357ecd-20250129",
16060+
version: "19.1.0-native-fb-bb9a24d9-20250130",
1606116061
rendererPackageName: "react-dom",
1606216062
currentDispatcherRef: ReactSharedInternals,
16063-
reconcilerVersion: "19.1.0-native-fb-b2357ecd-20250129"
16063+
reconcilerVersion: "19.1.0-native-fb-bb9a24d9-20250130"
1606416064
};
1606516065
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1606616066
var hook$jscomp$inline_2247 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -16320,4 +16320,4 @@ exports.useFormState = function (action, initialState, permalink) {
1632016320
exports.useFormStatus = function () {
1632116321
return ReactSharedInternals.H.useHostTransitionStatus();
1632216322
};
16323-
exports.version = "19.1.0-native-fb-b2357ecd-20250129";
16323+
exports.version = "19.1.0-native-fb-bb9a24d9-20250130";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-profiling.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<653e6ef1d097fb5db803f38470f0d593>>
10+
* @generated SignedSource<<a945b166900b42622e42a67179d9fac9>>
1111
*/
1212

1313
/*
@@ -16681,14 +16681,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1668116681
};
1668216682
var isomorphicReactPackageVersion$jscomp$inline_1883 = React.version;
1668316683
if (
16684-
"19.1.0-native-fb-b2357ecd-20250129" !==
16684+
"19.1.0-native-fb-bb9a24d9-20250130" !==
1668516685
isomorphicReactPackageVersion$jscomp$inline_1883
1668616686
)
1668716687
throw Error(
1668816688
formatProdErrorMessage(
1668916689
527,
1669016690
isomorphicReactPackageVersion$jscomp$inline_1883,
16691-
"19.1.0-native-fb-b2357ecd-20250129"
16691+
"19.1.0-native-fb-bb9a24d9-20250130"
1669216692
)
1669316693
);
1669416694
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16710,10 +16710,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1671016710
};
1671116711
var internals$jscomp$inline_1890 = {
1671216712
bundleType: 0,
16713-
version: "19.1.0-native-fb-b2357ecd-20250129",
16713+
version: "19.1.0-native-fb-bb9a24d9-20250130",
1671416714
rendererPackageName: "react-dom",
1671516715
currentDispatcherRef: ReactSharedInternals,
16716-
reconcilerVersion: "19.1.0-native-fb-b2357ecd-20250129",
16716+
reconcilerVersion: "19.1.0-native-fb-bb9a24d9-20250130",
1671716717
getLaneLabelMap: function () {
1671816718
for (
1671916719
var map = new Map(), lane = 1, index$294 = 0;
@@ -16988,7 +16988,7 @@ exports.useFormState = function (action, initialState, permalink) {
1698816988
exports.useFormStatus = function () {
1698916989
return ReactSharedInternals.H.useHostTransitionStatus();
1699016990
};
16991-
exports.version = "19.1.0-native-fb-b2357ecd-20250129";
16991+
exports.version = "19.1.0-native-fb-bb9a24d9-20250130";
1699216992
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1699316993
"function" ===
1699416994
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)