chainguard-dev / malcontent

#supply #chain #attack #detection
Apache License 2.0
446 stars 31 forks source link

Test larger runners #632

Closed egibs closed 2 days ago

egibs commented 2 days ago

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.