-
Notifications
You must be signed in to change notification settings - Fork 24.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for longer tasks with explicit yielding in LongTask API #45471
Conversation
This pull request was exported from Phabricator. Differential Revision: D55647992 |
Base commit: c82edec |
This pull request was exported from Phabricator. Differential Revision: D55647992 |
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
3f29182
to
08baed4
Compare
This pull request was exported from Phabricator. Differential Revision: D55647992 |
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
08baed4
to
c19aaf2
Compare
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
c19aaf2
to
a427995
Compare
This pull request was exported from Phabricator. Differential Revision: D55647992 |
1 similar comment
This pull request was exported from Phabricator. Differential Revision: D55647992 |
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
a427995
to
74c63cf
Compare
This pull request was exported from Phabricator. Differential Revision: D55647992 |
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
74c63cf
to
babdee3
Compare
This pull request was exported from Phabricator. Differential Revision: D55647992 |
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
babdee3
to
149a1cf
Compare
This pull request was exported from Phabricator. Differential Revision: D55647992 |
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
149a1cf
to
4f3c77d
Compare
This pull request was exported from Phabricator. Differential Revision: D55647992 |
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
4f3c77d
to
55cdb30
Compare
This pull request was exported from Phabricator. Differential Revision: D55647992 |
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
55cdb30
to
8224c05
Compare
This pull request was exported from Phabricator. Differential Revision: D55647992 |
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
8224c05
to
ce82e65
Compare
Differential Revision: D59820241
This pull request was exported from Phabricator. Differential Revision: D55647992 |
ce82e65
to
a5ceb67
Compare
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
Differential Revision: D55491870
…acebook#45471) Summary: Pull Request resolved: facebook#45471 Changelog: [internal] This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks. In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long". Check the new unit tests to see this behavior in practice. Reviewed By: sammy-SC Differential Revision: D55647992
a5ceb67
to
ce4145e
Compare
This pull request was exported from Phabricator. Differential Revision: D55647992 |
This pull request has been merged in 15b8ac8. |
Summary:
Changelog: [internal]
This is a React Native specific modification of the Long Tasks API that refines the logic to detect long tasks considering voluntary yielding checks.
In RN, as opposed to Web, we can have a very long task executing in the JS thread without causing any issues to the responsiveness of the app, as long as the task checks whether it should yield in short intervals. In this case, if the app always checks whether it should yield at least once every 50ms, the task will not be considered "long".
Check the new unit tests to see this behavior in practice.
Differential Revision: D55647992