| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…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
| Back | FazBrowse Home | New Git URL |
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.
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