GeezerVison is showing github.com — gh-82054: Parallel test sharding of test_asyncio and test_multiprocessing by zitterbewegung · Pull Request #103934 · python/cpython
Conversation
Summary:
This runs test_asyncio and test_multiprocessing sub-tests in parallel using sharding from cinder. These two tests are typically the long-poles in runs because they are modules with a lot of further sub-tests run serially. By breaking out the sub-tests as independent modules we can run a lot more in parallel.
After porting we can see the direct impact on a multicore system.
- Without this change:
- Running make test is 5 min 26 seconds
- With this change:
- Running make test takes 3 min 39 seconds
The drawbacks are that this implementation is hacky and due to the sorting of the tests it obscures when the asyncio tests occur and involves changing CPython test infrastructure but, the time saved it is worth it . I believe this is a good tradeoff but in the future this could be refactored.
original_time_cpython.txt
optimized_asyncio.txt
optimized_multiprocess_asyncio.txt
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
…asyncio in parallel
By sharding the individual tests in test_multiprocessing and test_asyncio we are able to reduce considerably the time it takes to run the whole test suite.
Fixing formatting in SPLITTESTDIRS
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.