Skip to content

Use fastAddProperties in diffing#32243

Merged
dmytrorykun merged 2 commits into
facebook:mainfrom
dmytrorykun:add-enableFastAddPropertiesInDiffing-feature-flag
Jan 30, 2025
Merged

Use fastAddProperties in diffing#32243
dmytrorykun merged 2 commits into
facebook:mainfrom
dmytrorykun:add-enableFastAddPropertiesInDiffing-feature-flag

Conversation

@dmytrorykun
Copy link
Copy Markdown
Contributor

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

@react-sizebot
Copy link
Copy Markdown

react-sizebot commented Jan 28, 2025

Comparing: 37906d4dfbe80d71f312f7347bb9ddb930484d28...0379cae029608d4afb821c86de2b707b595cd2c0

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.js = 6.68 kB 6.68 kB = 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 514.24 kB 514.24 kB = 91.74 kB 91.73 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 557.28 kB 557.28 kB = 98.97 kB 98.97 kB
facebook-www/ReactDOM-prod.classic.js = 595.79 kB 595.79 kB = 104.85 kB 104.85 kB
facebook-www/ReactDOM-prod.modern.js = 586.21 kB 586.21 kB = 103.30 kB 103.30 kB

Significant size changes

Includes any change greater than 0.2%:

(No significant changes)

Generated by 🚫 dangerJS against 4e0e6ae

@dmytrorykun dmytrorykun merged commit bb9a24d into facebook:main Jan 30, 2025
github-actions Bot pushed a commit that referenced this pull request Jan 30, 2025
## 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)
github-actions Bot pushed a commit to code/lib-react that referenced this pull request Jan 30, 2025
## 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](facebook@bb9a24d)
@dmytrorykun dmytrorykun deleted the add-enableFastAddPropertiesInDiffing-feature-flag branch February 12, 2025 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants