Skip to content
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

Use ccache for CI #318

Merged
merged 16 commits into from
Dec 13, 2022
Merged

Use ccache for CI #318

merged 16 commits into from
Dec 13, 2022

Conversation

Schneegans
Copy link
Member

@Schneegans Schneegans commented Dec 2, 2022

This may resolve #299

@coveralls
Copy link

coveralls commented Dec 2, 2022

Pull Request Test Coverage Report for Build 3657751936

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 2.934%

Totals Coverage Status
Change from base Build 3513272209: 0.0%
Covered Lines: 491
Relevant Lines: 16734

💛 - Coveralls

@Schneegans
Copy link
Member Author

Schneegans commented Dec 2, 2022

Some preliminary results. The numbers are extracted from various builds and should only be considered as rough estimates.

build type without caching buildcache sccache1 ccache2 clcache3
gcc 24 min 8 min 7 min 4 min -
gcc (pch + unity build) 12 min4 7 min 6 min 12 min -
clang 28 min 6 min 6 min 5 min -
clang (pch + unity build) 14 min4 7 min 6 min 5 min -
msvc > 60 min ?
msvc (ninja) -
msvc (pch + unity build) 34 min no caching5 no caching5 no caching5 28 min
msvc (pch + unity build + ninja) 31 min fails6 32 min 23 min -

Footnotes

  1. See sccache #319

  2. See ccache #320

  3. The clcache numbers I cannot find anymore as the logs for those runs do not exist anymore. But I found some ancient runs which took about this time.

  4. Even after I switched to build type, some cache hits occurred, so the actual time could be a bit higher. 2

  5. For some reason, I cannot get either of the tools to work with the standard Visual Studio target. With Ninja, they work though... 2 3

  6. buildcache seems to have issues with precompiled headers.

@Schneegans Schneegans changed the title Buildcache buildcache Dec 9, 2022
@Schneegans
Copy link
Member Author

So I think for now, we should stick to ccache. I'll put this into this PR here and close the others.

@Schneegans Schneegans changed the title buildcache Use ccache for CI Dec 12, 2022
@Schneegans Schneegans marked this pull request as ready for review December 12, 2022 12:52
@Schneegans Schneegans requested a review from JonasGilg December 12, 2022 12:52
@Schneegans
Copy link
Member Author

A significant part of the time the windows build takes is for downloading boost. Maybe we should consider setting up a container for building which already includes boost. This could speed up the process by more than five minutes.

@Schneegans Schneegans merged commit ae4daae into main Dec 13, 2022
@Schneegans Schneegans deleted the feature/buildcache branch December 13, 2022 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use buildcache instead of clcache
3 participants