Skip to content

Tiered build

Zef Wolffs requested to merge tiered_build into master

@will Have a look at this working implementation with ccache. This reduces the build stage time from ~58 minutes to ~24 minutes. Advantage of this is that this is the "standard/recommended" way of doing this, at least that is what I could find from reading around on the internet. I could see that at least LHCb and ROOT use ccache in their builds. In fact, this MR includes a change that gives a ccache flag to ROOT that tells ROOT to handle this itself which is nice as we, at least for ROOT, do not have to introduce new logic but can rely on theirs (single source of truth).

A native CMake (no ccache) approach would require preserving the timestamps, since CMake compares source files to built files' timestamps in order to decide whether to rebuild a file or not. I think this could be achieved by zipping the full build folder and copying the result over for each new build. This is fine, but seems slightly more hacky and I cannot really find much info on this approach on the internet. However, I do think this approach would speed things up further.

Let me know what you think!

PS. I will clean this up a bit more before actually merging

Edited by Zef Wolffs

Merge request reports

Loading