ccache in CI
#1
Doe the CI's use ccache? This can speed things up a lot.
Reply
Thanks given by:
#2
Doesn't ccache only cache individual cpp files? That wouldn't help us much since we don't reuse cpps that much.
Reply
Thanks given by:
#3
Edit: Accidental duplicate comment.
Reply
Thanks given by:
#4
(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.
Reply
Thanks given by:
#5
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.
Reply
Thanks given by:
#6
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
Reply
Thanks given by:
#7
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?
Reply
Thanks given by:
#8
I didn't pinpoint the problem.
Reply
Thanks given by:
#9
I've been using ccache for a while and nothing went wrong so far.
Reply
Thanks given by:
#10
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.
Reply
Thanks given by:




Users browsing this thread: 13 Guest(s)