This is an archive of the discontinued LLVM Phabricator instance.

[dosep] Run tests in a more parallel fashion
ClosedPublic

Authored by labath on Feb 15 2018, 7:06 AM.

Details

Summary

Due to in-tree builds, we were parallelizing the tests at the directory
level. Now that the tests are built out-of-tree, we can remove this
limitation and paralelize at file level instead.

This decreases test suite time by about 10% for me, which is not
world-shattering, but it makes the code slightly simpler and will also
allow us to merge tests which were artificially spread over multiple
folders (TestConcurrentEvents...) to work-around this limitation.

To make this work, I've also needed to include the test file name in the
build directory name, as just the test method name is not unique enough
(plenty of tests have a test method called "test" or similar).

While doing this, I've found a couple of tests that are taking waaay longer then
they ought to (TestBreakpointCaseSensitivity -- 90 seconds), which I plan to
look into in the future.

Diff Detail

Repository
rL LLVM

Event Timeline

labath created this revision.Feb 15 2018, 7:06 AM
aprantl accepted this revision.Feb 15 2018, 7:54 AM

This is very cool! I imagine that this will help a lot with TestIntegerTypes and other really long-running ones. Thanks.

This revision is now accepted and ready to land.Feb 15 2018, 7:54 AM

Very nice! Thanks for working on this!

This revision was automatically updated to reflect the committed changes.