Skip to content

Speed up test compilation when Ninja is in use #19128

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

hageboeck
Copy link
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
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 36f878e to 7f214a8 Compare June 23, 2025 08:35
Copy link

Test Results

    20 files      20 suites   4d 3h 33m 34s ⏱️
 3 042 tests  3 042 ✅ 0 💤 0 ❌
59 059 runs  59 059 ✅ 0 💤 0 ❌

Results for commit 7f214a8.

@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
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
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