Avoid calling fmod twice in roundLayoutResultsToPixelGrid#48404
Closed
rshest wants to merge 1 commit intofacebook:mainfrom
Closed
Avoid calling fmod twice in roundLayoutResultsToPixelGrid#48404rshest wants to merge 1 commit intofacebook:mainfrom
rshest wants to merge 1 commit intofacebook:mainfrom
Conversation
Contributor
|
This pull request was exported from Phabricator. Differential Revision: D67689065 |
26c554e to
79b5dac
Compare
Contributor
|
This pull request was exported from Phabricator. Differential Revision: D67689065 |
rshest
added a commit
to rshest/yoga
that referenced
this pull request
Dec 28, 2024
Summary: X-link: facebook/react-native#48404 ## Changelog: [Internal] - This popped up when profiling some heavy UI performance, calling `fmod` operation in Yoga's `roundLayoutResultsToPixelGrid` in `PixelGrid.cpp` can be expensive, furthermore it turns that some of the calls were redundant. This replaces the duplicate calls to fmod with an equivalent single round operation, which for clang compiler on Windows bring the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being **~1% more efficient** for the particular benchmark I was looking into. Differential Revision: D67689065
79b5dac to
fa3cfe8
Compare
Contributor
|
This pull request was exported from Phabricator. Differential Revision: D67689065 |
…8404) Summary: X-link: facebook/litho#1036 X-link: facebook/yoga#1775 ## Changelog: [Internal] - This popped up when profiling some heavy UI performance, calling `fmod` operation in Yoga's `roundLayoutResultsToPixelGrid` in `PixelGrid.cpp` can be expensive, furthermore it turns out that some of the calls were redundant. This replaces the duplicate calls to fmod with an equivalent single round operation, which for e.g. clang compiler on Windows brings the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being **~1% more efficient** for the particular benchmark I was looking into. Differential Revision: D67689065
fa3cfe8 to
9f0fc72
Compare
Contributor
|
This pull request was exported from Phabricator. Differential Revision: D67689065 |
rshest
added a commit
to rshest/yoga
that referenced
this pull request
Dec 28, 2024
) Summary: X-link: facebook/litho#1036 X-link: facebook/react-native#48404 ## Changelog: [Internal] - This popped up when profiling some heavy UI performance, calling `fmod` operation in Yoga's `roundLayoutResultsToPixelGrid` in `PixelGrid.cpp` can be expensive, furthermore it turns out that some of the calls were redundant. This replaces the duplicate calls to fmod with an equivalent single round operation, which for e.g. clang compiler on Windows brings the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being **~1% more efficient** for the particular benchmark I was looking into. Differential Revision: D67689065
rshest
added a commit
to rshest/litho
that referenced
this pull request
Dec 28, 2024
) Summary: X-link: facebook/yoga#1775 X-link: facebook/react-native#48404 ## Changelog: [Internal] - This popped up when profiling some heavy UI performance, calling `fmod` operation in Yoga's `roundLayoutResultsToPixelGrid` in `PixelGrid.cpp` can be expensive, furthermore it turns out that some of the calls were redundant. This replaces the duplicate calls to fmod with an equivalent single round operation, which for e.g. clang compiler on Windows brings the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being **~1% more efficient** for the particular benchmark I was looking into. Differential Revision: D67689065
rshest
added a commit
to rshest/yoga
that referenced
this pull request
Dec 30, 2024
) Summary: X-link: facebook/litho#1036 X-link: facebook/react-native#48404 ## Changelog: [Internal] - This popped up when profiling some heavy UI performance, calling `fmod` operation in Yoga's `roundLayoutResultsToPixelGrid` in `PixelGrid.cpp` can be expensive, furthermore it turns out that some of the calls were redundant. This replaces the duplicate calls to fmod with an equivalent single round operation, which for e.g. clang compiler on Windows brings the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being **~1% more efficient** for the particular benchmark I was looking into. Differential Revision: D67689065
rshest
added a commit
to rshest/yoga
that referenced
this pull request
Dec 30, 2024
) Summary: X-link: facebook/litho#1036 X-link: facebook/react-native#48404 ## Changelog: [Internal] - This popped up when profiling some heavy UI performance, calling `fmod` operation in Yoga's `roundLayoutResultsToPixelGrid` in `PixelGrid.cpp` can be expensive, furthermore it turns out that some of the calls were redundant. This replaces the duplicate calls to fmod with an equivalent single round operation, which for e.g. clang compiler on Windows brings the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being **~1% more efficient** for the particular benchmark I was looking into. Differential Revision: D67689065
rshest
added a commit
to rshest/yoga
that referenced
this pull request
Dec 30, 2024
) Summary: X-link: facebook/litho#1036 X-link: facebook/react-native#48404 ## Changelog: [Internal] - This popped up when profiling some heavy UI performance, calling `fmod` operation in Yoga's `roundLayoutResultsToPixelGrid` in `PixelGrid.cpp` can be expensive, furthermore it turns out that some of the calls were redundant. This replaces the duplicate calls to fmod with an equivalent single round operation, which for e.g. clang compiler on Windows brings the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being **~1% more efficient** for the particular benchmark I was looking into. Differential Revision: D67689065
facebook-github-bot
pushed a commit
to facebook/litho
that referenced
this pull request
Dec 30, 2024
Summary: Pull Request resolved: #1036 X-link: facebook/yoga#1775 X-link: facebook/react-native#48404 ## Changelog: [Internal] - This popped up when profiling some heavy UI performance, calling `fmod` operation in Yoga's `roundLayoutResultsToPixelGrid` in `PixelGrid.cpp` can be expensive, furthermore it turns out that some of the calls were redundant. This replaces the duplicate calls to fmod with an equivalent single round operation, which for e.g. clang compiler on Windows brings the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being **~1% more efficient** for the particular benchmark I was looking into. Reviewed By: christophpurrer Differential Revision: D67689065 fbshipit-source-id: 2a074a1cb81bd7f7a3c414050b9ddda2ba90180f
Contributor
|
This pull request has been merged in 6dd4195. |
Collaborator
|
This pull request was successfully merged by @rshest in 6dd4195 When will my fix make it into a release? | How to file a pick request? |
facebook-github-bot
pushed a commit
to facebook/yoga
that referenced
this pull request
Dec 30, 2024
Summary: X-link: facebook/litho#1036 Pull Request resolved: #1775 X-link: facebook/react-native#48404 ## Changelog: [Internal] - This popped up when profiling some heavy UI performance, calling `fmod` operation in Yoga's `roundLayoutResultsToPixelGrid` in `PixelGrid.cpp` can be expensive, furthermore it turns out that some of the calls were redundant. This replaces the duplicate calls to fmod with an equivalent single round operation, which for e.g. clang compiler on Windows brings the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being **~1% more efficient** for the particular benchmark I was looking into. Reviewed By: christophpurrer Differential Revision: D67689065 fbshipit-source-id: 2a074a1cb81bd7f7a3c414050b9ddda2ba90180f
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog:
[Internal] -
This popped up when profiling some heavy UI performance, calling
fmodoperation in Yoga'sroundLayoutResultsToPixelGridinPixelGrid.cppcan be expensive, furthermore it turns out that some of the calls were redundant.This replaces the duplicate calls to fmod with an equivalent single round operation, which for e.g. clang compiler on Windows brings the code in question from ~50 instructions (including 4 call instructions to the fmod function) down to ~30 instructions (without any external calls), and the layout operation being ~1% more efficient for the particular benchmark I was looking into.
Differential Revision: D67689065