[PATCH] [DOCS] How to Add a Builder

Rick Foos rfoos at codeaurora.org
Thu Nov 14 00:04:56 PST 2013

I’ve used CCache, but I thought it might be controversial. It is not limited to low end systems. My 6 minute clang build goes down to 40 to  50 seconds. 


While the sources are updated, the make cleans clear things out. Ccache takes care of that, and only the 5 or 10 files actually changed are built.


Not sure that ccache is within the scope of this document. 




From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Mikael Lyngvig
Sent: Thursday, November 14, 2013 12:00 AM
To: Reid Kleckner
Cc: LLVM-commits
Subject: Re: [PATCH] [DOCS] How to Add a Builder


Perhaps I've misunderstood something.  I thought the builders restarted from scratch each and every time so as to ensure that the complete product builds reliably.  This to ensure that the project doesn't gradually rot.


If the builders simply update and remake, then there's absolutely no point in using ccache, I agree wholeheartedly to that.


Is anybody with knowledge of the buildbot system listening in?  Do the builders start from scratch each time or do they simply resume and continue after having performed an "svn update"?  The build times strongly suggest that they start over from scratch, at least some of them.



-- Mikael




2013/11/14 Reid Kleckner <rnk at google.com>

Starting from scratch seems undesirable.  ccache is basically just undoing that for you.


On Wed, Nov 13, 2013 at 9:46 PM, Mikael Lyngvig <mikael at lyngvig.org> wrote:

The problem is specific to the buildbot slaves that always start from scratch.  Otherwise, I agree with your views.



-- Mikael


2013/11/14 Reid Kleckner <rnk at google.com>

IMO ccache is unnecessary if you use cmake+ninja.  They actually track header dependencies well, so as long as you don't clean your build directory, you'll have fast, correct incremental builds.  ccache won't save much in that situation because the preprocessed source will actually be different.


On Wed, Nov 13, 2013 at 9:12 PM, Mikael Lyngvig <mikael at lyngvig.org> wrote:



The patch basically tells that ccache is very usable for low-end Linux systems and briefly how to get going using ccache (one special option is needed, thanks to Dimitri Gribenko, for sharing this).  


On my ARMv7 a repeat clean build takes less than 1/3rd the time of the initial clean build.  So it is definitely something that the slow builders can benefit from.  A build time of 36 minutes was reduced to approximately 11.5 minutes.


I suspect it might better be put in the GettingStarted document, but I need feedback on this.


If anybody dislikes the idea of putting this patch in the LLVM documentation, then please think of the fact that LLVM benefits greatly from the builders doing their job as fast as at all possible.



-- Mikael


llvm-commits mailing list
llvm-commits at cs.uiuc.edu





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131114/96e6337c/attachment.html>

More information about the llvm-commits mailing list