allow tests to be split for more granularity
authorJoey Hess <joeyh@joeyh.name>
Mon, 14 Mar 2022 21:23:52 +0000 (17:23 -0400)
committerJoey Hess <joeyh@joeyh.name>
Mon, 14 Mar 2022 21:23:52 +0000 (17:23 -0400)
commit57c01b2a633b137100d43c50f5b37e1cb6cdc2ec
tree30b4b6038438282612e06b6657aada6fd2af7110
parent8d14ce8f383c3af8addff8944b6590715f0f976c
allow tests to be split for more granularity

Unit tests are the main bulk of runtime, so splitting them into 2 or 3
parts should help.

For now, the number of parts is still 1, because on my 4 core laptop,
2 was a little bit slower, and 3 slower yet. However, this probably does
vary based on the number of cores, so needs to be revisited, and perhaps
made dynamic.

Since each test mode gets split into the specified number of parts,
plus property and remote tests, 2 gives 8 parts, and 3 gives 11 parts.
Load went to maybe 18, so there was probably contention slowing things
down.

So probably it needs to start N workers with some parts, and when a
worker finishes, run it with the next part, until all parts are
processed.

Sponsored-by: Dartmouth College's Datalad project
Test.hs
Test/Framework.hs