Using this PR to test 8- and 16-core runners now that our tests scale with core count. These are rough estimates since I haven't performed multiple runs on each size.
4-core (previous PR with the fix to actually run most of our scanning tests in parallel):
$ go test -timeout 0 ./tests/...
ok github.com/chainguard-dev/malcontent/tests 391.531s
Before the parallel fix, the runtime was 550-600 seconds.
8-core:
$ go test -timeout 0 ./tests/...
ok github.com/chainguard-dev/malcontent/tests 236.204s
16-core ARM:
$ go test -timeout 0 ./tests/...
ok github.com/chainguard-dev/malcontent/tests 222.552s
16-core:
$ go test -timeout 0 ./tests/...
ok github.com/chainguard-dev/malcontent/tests 174.358s
64-cores; definitely hitting diminishing returns:
$ go test -timeout 0 ./tests/...
ok github.com/chainguard-dev/malcontent/tests 152.434s
8 cores seems to be the best tradeoff between performance and cost.
Using this PR to test 8- and 16-core runners now that our tests scale with core count. These are rough estimates since I haven't performed multiple runs on each size.
4-core (previous PR with the fix to actually run most of our scanning tests in parallel):
8-core:
16-core ARM:
16-core:
64-cores; definitely hitting diminishing returns:
8 cores seems to be the best tradeoff between performance and cost.