Skip to content
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

TaskCollaboration improvements #5489

Conversation

johnhaddon
Copy link
Member

This PR supercedes #4979, fixing the deadlock documented in #4978. I still have a fair bit of testing and tidying I want to do before its merged - I'm making a PR at this stage just so I can get the resulting automated builds deployed at Cinesite for testing. Feel free to take a look and comment if you want, but I'm not expecting a review at this stage.

@johnhaddon johnhaddon self-assigned this Oct 5, 2023
This gives a 3x speedup in `CollectScenesTest.testSetPerformance`.

Perhaps more interestingly, it also gives almost a 2x speedup in `SetQueryTest.testScaling()`, but almost half of that speedup is due to the change in hash cache policy _alone_. In `testScaling()`, the same set is required by every location in the scene, but we are visiting enough locations that the hash cache is under significant pressure. By moving `out.set` to the TaskCollaboration policy, the set hash is stored in the shared central cache, from which it is exceedingly unlikely to be evicted (because per-location hashes are not stored in the global cache).
@johnhaddon
Copy link
Member Author

Closing in favour of #5493.

@johnhaddon johnhaddon closed this Oct 10, 2023
@johnhaddon johnhaddon deleted the improvedCollaborationTestPR branch November 8, 2023 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant