|
|
|
|
|
by dragoncrab
1302 days ago
|
|
I've spent some time to deploy shared ccache for our Azure Devops PR builds as well as locally.
The 1 hour build time went down to 5 minutes for release, about 9 for debug. It took another 2-3 minutes to download/upload the shared ccache, so it's still a good 6 time speedup, not to mention that it takes much less CPU. The trick is to set --fdebug-prefix-map and -fprofile-dir to proper relative paths and then with some extra scripting caches will be reusable across build nodes even if the workspace directory is different for each build. This and distcc (or IncrediBuild) are a game changer for every serious C++ workshop. |
|
I kind of one in the future if there will be a publicly trustable, free to use "just plug and play, you don't need to set up your own" ccache
Think of the energy savings implications
Imagine every unoptimized build job for every microservice (Rust in Docker pulls the entire Cargo registry + rebuilds all dependencies every time you make a source code change of any kind if you don't go out of your way to prevent it)
Obviously trusting a public source to just compile something for you and give you a binary-like object is... probably a malware distributor's dream.
And I don't have data to prove the bandwidth cost would offset the energy savings of CPU cycles recalculating the same stuff over and over.
Interesting though...