4 ms·
Parallel tests. Use all your processor cores to speed up your development
- john_d11 15y agoAre there any similar tools for Python?
- mahmoudimus 15y agoIf you're using nosetests, there's a --processes=NUM option that comes from the multiprocessing nose test plugin, but you should make sure all your tests are safe to parallelize, which, might be very tricky if you didn't think about parallelization before hand.
- rb2k_ 15y agoIt used to be that parallel tests bundled up the tasks in "groups" and went one group at a time. e.g. 12 tests on 4 cores ==> 4 groups with 3 tests each. The problem was that some of the groups might have ended up with tests that take 5 minutes each (finished after 15 minutes) and other groups end up with the 20 second ones (finished after 1 minute). Did that balancing every change? Another question: How does this work for different RSpec formatters? (specifically: junit xml output or html output). Will it still result in a single file?
- jacques_chester 15y agoAnd just like that, we're on the cusp of reinventing batch scheduling! :D In all seriousness though, I think that a look at OS scheduling would provide useful inspiration for test scheduling.
- rb2k_ 15y agoJust a queue that forks processes would work fine, no need to get into OS details :D
- silasb 15y agoI guess I will have to come up with a new excuse when I get caught browsing HN now.