Skip to content

Speed up test compilation when Ninja is in use#19128

Merged
hageboeck merged 2 commits into
root-project:masterfrom
hageboeck:roottest_slow_ninja
Jun 24, 2025
Merged

Speed up test compilation when Ninja is in use#19128
hageboeck merged 2 commits into
root-project:masterfrom
hageboeck:roottest_slow_ninja

Conversation

@hageboeck
Copy link
Copy Markdown
Member

@hageboeck hageboeck commented Jun 23, 2025

  • Roottest tests were compiled sequentially when Ninja was in use, to avoid a problem (the commit doesn't mention details). Since that was 8 years ago, we should give parallel Ninja another try.

Difference on my machine (8 physical cores) running ctest -R meta -j16:

Old New
760.82user 54.57system 654.64user 52.71system
6:31.81elapsed 208%CPU 1:52.29elapsed 629%CPU

Note:

  • I tested this locally on Gentoo, but our CI is kind of blind to running with Ninja. Maybe it's worth to take one of the distros and make it compile with Ninja?

@hageboeck hageboeck self-assigned this Jun 23, 2025
@hageboeck hageboeck requested a review from bellenot as a code owner June 23, 2025 07:10
@hageboeck hageboeck marked this pull request as draft June 23, 2025 08:21
@hageboeck hageboeck force-pushed the roottest_slow_ninja branch from 36f878e to 7f214a8 Compare June 23, 2025 08:35
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 23, 2025

Test Results

    20 files      20 suites   3d 23h 42m 3s ⏱️
 3 045 tests  3 045 ✅ 0 💤 0 ❌
59 223 runs  59 223 ✅ 0 💤 0 ❌

Results for commit d37b65f.

♻️ This comment has been updated with latest results.

@hageboeck hageboeck marked this pull request as ready for review June 23, 2025 13:40
@hageboeck hageboeck requested a review from dpiparo June 23, 2025 15:50
@dpiparo
Copy link
Copy Markdown
Member

dpiparo commented Jun 23, 2025

That is a good idea. We need to 1) Add ninja to one of the container images 2) build with ninja for that platform - this can be one of the experimental builds (clang? nomodules? marchnative?)

@hageboeck hageboeck added the clean build Ask CI to do non-incremental build on PR label Jun 23, 2025
Roottest tests were compiled sequentially when Ninja was in use, to
avoid a problem (the commit doesn't mention details). Since that was 8
years ago, we should give parallel Ninja another try.
@hageboeck hageboeck force-pushed the roottest_slow_ninja branch from 796b26f to d37b65f Compare June 24, 2025 08:40
@hageboeck hageboeck merged commit e8519e4 into root-project:master Jun 24, 2025
25 checks passed
@hageboeck hageboeck deleted the roottest_slow_ninja branch June 24, 2025 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clean build Ask CI to do non-incremental build on PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants