-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Perform relayoutAllNodes (rotation, window resize) concurrently #1446
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
// Ignore this element if it is no longer in the latest data. It is still recognized in the UIKit world but will be deleted soon. | ||
NSIndexPath *indexPathInPendingMap = [_pendingMap indexPathForElement:element]; | ||
if (indexPathInPendingMap == nil) { | ||
continue; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this case uncommon and irrelevant now that we relayout concurrently?
🚫 CI failed with log |
🚫 CI failed with log |
🚫 CI failed with log |
@Adlai-Holler Can you rebase with master to unblock the CI? |
|
This makes those operations run a lot faster.
Switching ASElementMap from NSMapTable to NSDictionary is necessary for this, but probably more efficient too. NSMapTable is pretty horrible (tons of extra memory allocations).