Mbed-TLS / mbedtls-test

MbedTLS testing
Apache License 2.0
4 stars 24 forks source link

speed up analyze-outcomes stage #144

Closed daverodgman closed 9 months ago

daverodgman commented 9 months ago

Improve perf of the analyse-outcomes stage of CI, which especially matters because it's a serial stage of the CI pipeline.

Currently, it takes around 247s to run xz on the CI.

Testing locally, current xz command takes 130s. With -0, it takes 15s (so expect ~28.5s on CI). This increases compressed size from 38 MB to 54 MB.

Using -T8 (8 threads) reduces it further to 2.6s locally (expect ~5s on CI). There's no penalty for going too big on thread count, but no benefit beyond about 8-16.

lzma, gzip, bzip2, zip are all worse.

Also, use grep instead of awk to extract failures, which saves a few more seconds.

CI run: https://jenkins-mbedtls.oss.arm.com/blue/organizations/jenkins/mbed-tls-pr-head/detail/PR-8530-head/9/pipeline/

tom-cosgrove-arm commented 9 months ago

CI is green

@gilles-peskine-arm are you happy enough with this now to approve?

daverodgman commented 9 months ago

@gilles-peskine-arm I have updated to use -T0, please review

daverodgman commented 9 months ago

Test run shows xz taking 15s https://jenkins-mbedtls.oss.arm.com/blue/rest/organizations/jenkins/pipelines/mbed-tls-pr-head/branches/PR-8530-head/runs/12/nodes/8129/log/?start=0