ccache in CI - Printable Version +- Cuberite Forum (https://forum.cuberite.org) +-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html) +--- Forum: Development (https://forum.cuberite.org/forum-13.html) +--- Thread: ccache in CI (/thread-2333.html) |
ccache in CI - LogicParrot - 01-27-2016 Doe the CI's use ccache? This can speed things up a lot. RE: ccache in CI - xoft - 01-27-2016 Doesn't ccache only cache individual cpp files? That wouldn't help us much since we don't reuse cpps that much. RE: ccache in CI - LogicParrot - 01-28-2016 Edit: Accidental duplicate comment. RE: ccache in CI - LogicParrot - 01-28-2016 (01-27-2016, 09:13 PM)xoft Wrote: Doesn't ccache only cache individual cpp files? Yes, it only caches individual object files. (01-27-2016, 09:13 PM)xoft Wrote: That wouldn't help us much since we don't reuse cpps that much. Edit: I think you missed the fact that the cache can persist across builds. Every Pull request modifies only a handful of .cpp files, but currently the CIs will recompile everything. We actually reuse ~90%+ of the .cpp files every pull request. So it should speed it up significantly. RE: ccache in CI - LogicParrot - 01-28-2016 Quote:A third scenario is using ccache to speed up clean builds performed by servers or build farms that regularly check that the code is buildable. Taken from their homepage. That would be our scenario. RE: ccache in CI - worktycho - 01-28-2016 It wouldn't help Travis, as they use a new container for each build. Also, we have had problems with ccache in the past, see: https://github.com/cuberite/cuberite/pull/2551 RE: ccache in CI - LogicParrot - 01-28-2016 Yes, it would only help Jenkins. That's a weird bug. ccache is not supposed to affect the resulting output. Did you poinpoint the problem? RE: ccache in CI - worktycho - 01-28-2016 I didn't pinpoint the problem. RE: ccache in CI - LogicParrot - 02-04-2016 I've been using ccache for a while and nothing went wrong so far. RE: ccache in CI - bearbin - 02-05-2016 ccache is great when a clearout is as simple as `make clean`, it's not so great when something changes and you have to remote into the server and clear it out. (If I could I would spin up a new VM every time like travis, but that's not easy to do) The server isn't running out of capacity, and although fast builds are nice it's a lot more effort. |