Skip to content

Add Fantom benchmark for ViewProps cloneProps (#57324)#57324

Closed
javache wants to merge 1 commit into
react:mainfrom
javache:export-D109563268
Closed

Add Fantom benchmark for ViewProps cloneProps (#57324)#57324
javache wants to merge 1 commit into
react:mainfrom
javache:export-D109563268

Conversation

@javache

@javache javache commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary:

Adds ViewProps-benchmark-itest.js covering three scenarios that exercise the C++ Props construction path:

  1. Mount N views with a full prop bag (initial Props construction).
  2. Re-render N views with a full prop swap (cloneProps, every prop changes).
  3. Re-render N views with a single-prop delta (cloneProps, hot path for typical UI updates).

fantom_flags enableCppPropsIteratorSetter:* matrix-expands the suite so each scenario runs once with the classic per-field parse and once with the iterator-setter path. This establishes a baseline for upcoming changes that simplify the per-class flag ? sourceProps.X : convertRawProp(...) ternaries into two distinct constructors and that skip the now-unused RawPropsParser::parse() in the iterator-setter branch.

Changelog:
[Internal]

Differential Revision: D109563268

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jun 24, 2026
@meta-codesync

meta-codesync Bot commented Jun 24, 2026

Copy link
Copy Markdown

@javache has exported this pull request. If you are a Meta employee, you can view the originating Diff in D109563268.

Summary:

Adds `ViewProps-benchmark-itest.js` covering three scenarios that exercise the C++ Props construction path:

1. Mount N views with a full prop bag (initial Props construction).
2. Re-render N views with a full prop swap (cloneProps, every prop changes).
3. Re-render N views with a single-prop delta (cloneProps, hot path for typical UI updates).

`fantom_flags enableCppPropsIteratorSetter:*` matrix-expands the suite so each scenario runs once with the classic per-field parse and once with the iterator-setter path. This establishes a baseline for upcoming changes that simplify the per-class `flag ? sourceProps.X : convertRawProp(...)` ternaries into two distinct constructors and that skip the now-unused `RawPropsParser::parse()` in the iterator-setter branch.

Changelog:
[Internal]

Differential Revision: D109563268
@meta-codesync meta-codesync Bot changed the title Add Fantom benchmark for ViewProps cloneProps Add Fantom benchmark for ViewProps cloneProps (#57324) Jun 24, 2026
@javache javache force-pushed the export-D109563268 branch from 1759faf to be15138 Compare June 24, 2026 13:57
@meta-codesync meta-codesync Bot closed this in a224e03 Jun 24, 2026
@meta-codesync

meta-codesync Bot commented Jun 24, 2026

Copy link
Copy Markdown

This pull request has been merged in a224e03.

@meta-codesync meta-codesync Bot added the Merged This PR has been merged. label Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant