[cfe-dev] Hardware for building LLVM+Clang in 10-20 minutes

David Tweed david.tweed at gmail.com
Tue Apr 2 03:28:07 PDT 2013


Hi, sorry for the slight delay. Sorta-related to the subject, I had a go
doing a full from scratch build a while ago trying to see what components
took the time on Linux, using a wrapper around the compiler calls to track
the user and system time for each command. I didnt' get any further than
looking at the distribution of the build times, but it was the classic
thing of a small fraction of the files taking up to 10 times longer than
the median. (These were pretty much files in the clang Sema* hierarchy,
which is plausible since C++ et all have so many odd rules I'd expect
semantic analysis to be lots of non-optimizable code.) Unfortunately there
curve was sufficiently smooth without any noticeable "knee" so it didn't
look like there was much point trying to choose some cut-off for the
longest-compile files and try to refactor them.

Anyway, the upshot of that is that I'd expect that raw speed of machine
would have more effect than number of cores on an incremental rebuild (at
least if the clang subtree has modifications).

Not sure that really helps, but might be interesting info,

Cheers,
Dave


On Sun, Mar 31, 2013 at 8:52 PM, Anton Yartsev <anton.yartsev at gmail.com>wrote:

> On 30.03.2013 6:51, NAKAMURA Takumi wrote:
>
>> Anton, FYI, one of my builders can build clang by 5 to 6 minutes (with
>> just-built-clang w/o Assertions).
>> http://bb.pgr.jp/builders/**clang-3stage-x86_64-linux/**builds/112<http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/112>
>> It is; AMD FX-8350, 32GB of RAM and Intel X25-M G2 SSD, Linux x86-64.
>>
>> I know it will be faster with more expensive box. Working in progress...
>>
>> I strongly suggest you may throw away Windows out of the window :p
>> Otherwise, I suggest you may take cmake and ninja for (mingw32|msvc).
>> They work better. Feel free to ask.
>>
> I am feeling next to it - no one of 'make' ports I tried (Compiled from
> the MSYS trunk, Migw32, Migw64, TDM-GCC) handle multiple jobs correctly.
> There is likely an old bug causing make to freeze randomly when -jN with
> N>1 is passed to it. (I found reports with similar problem in MinGW mailing
> list (http://sourceforge.net/**mailarchive/message.php?msg_**id=29801391<http://sourceforge.net/mailarchive/message.php?msg_id=29801391>
> )
> the possible reasons, but no workaround; even found a patch from a user
> that should fix this, but got another errors when used 'make', compiled
> with this patch).
>
> A good idea, thanx! I'll try to use cmake instead of configure. May it
> produce makefiles that mingw32-make.exe from MinGW64 accept.
> mingw32-make.exe is my last hope on a simple solution, but currently it
> ends up with (renamed mingw32-make.exe to make.exe) :
>
> make -j8 ONLY_TOOLS="clang" ENABLE_OPTIMIZED=1
> Makefile:141: /f/llvm_COMMON/Makefile.rules: No such file or directory
> make.EXE: *** No rule to make target `/f/llvm_COMMON/Makefile.**rules'.
>  Stop.
>
> , while 'make' from MSYS build without errors (but hangs randomly).
>
> MS2012 builds+tests for 20 minutes, but I want MinGW to also work :)
> Morover, it produces Clang, that is unable to link files due to unresolved
> externals.
> (the problem is likely related to name mangling issues
> http://lists.cs.uiuc.edu/**pipermail/cfe-dev/2011-April/**014655.html<http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-April/014655.html>
> )
>
> and that's that!
>
>
>
>> ...Takumi
>>
>> 2013/3/29 Anton Yartsev <anton.yartsev at gmail.com>:
>>
>>> Hi all!
>>>
>>> I have finally decided to upgrade from my old Core 2 Duo E8500, 6GB DDR2
>>> 400
>>> MHz.
>>> Currently the full building+testing of llvm lasts for hours (slightly
>>> faster
>>> with VS2008, slightly slower with MinGW) and makes everything lag.
>>> Ideally would be happy to perform build+test for about 10-20 minutes, as
>>> some fast builders do, and have no lags with other useful applications,
>>> such
>>> as browsers and Acrobat, during building/testing.
>>> Please can anybody advise me an appropriate hardware? Or just tell, what
>>> hardware the fast buildbots are running (specifically
>>> clang-native-mingw64-win7, clang-x86_64-ubuntu-gdb-75 and
>>> clang-x86_64-debian-fast)?
>>>
>>> --
>>> Anton
>>>
>>> ______________________________**_________________
>>> cfe-dev mailing list
>>> cfe-dev at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/**mailman/listinfo/cfe-dev<http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>
>>>
>>
>
> --
> Anton
>
> ______________________________**_________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/**mailman/listinfo/cfe-dev<http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>
>



-- 
cheers, dave tweed__________________________
high-performance computing and machine vision expert: david.tweed at gmail.com
"while having code so boring anyone can maintain it, use Python." --
attempted insult seen on slashdot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130402/9b1c7f7f/attachment.html>


More information about the cfe-dev mailing list