cosmoscout / cosmoscout-vr

:milky_way: A virtual universe which lets you explore, analyze and present huge planetary datasets and large simulation data in real-time.
Other
351 stars 27 forks source link

Use ccache for CI #318

Closed Schneegans closed 1 year ago

Schneegans commented 1 year ago

This may resolve #299

coveralls commented 1 year ago

Pull Request Test Coverage Report for Build 3675584560


Files with Coverage Reduction New Missed Lines %
src/cs-gui/internal/JSHandler.hpp 2 0%
plugins/csp-web-api/src/Plugin.cpp 112 0%
<!-- Total: 114 -->
Totals Coverage Status
Change from base Build 3513272209: -0.002%
Covered Lines: 491
Relevant Lines: 16745

💛 - Coveralls
Schneegans commented 1 year ago

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

build type without caching buildcache sccache[^1] ccache[^2] clcache[^3]
gcc 24 min 8 min 7 min 4 min -
gcc (pch + unity build) 12 min[^4] 7 min 6 min 12 min -
clang 28 min 6 min 6 min 5 min -
clang (pch + unity build) 14 min[^4] 7 min 6 min 5 min -
msvc > 60 min ?
msvc (ninja) -
msvc (pch + unity build) 34 min no caching[^5] no caching[^5] no caching[^5] 28 min
msvc (pch + unity build + ninja) 31 min fails[^6] 32 min 23 min -

[^1]: See #319 [^2]: See #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. [^5]: For some reason, I cannot get either of the tools to work with the standard Visual Studio target. With Ninja, they work though... [^6]: buildcache seems to have issues with precompiled headers.

Schneegans commented 1 year ago

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

Schneegans commented 1 year ago

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.