|
Boost : |
Subject: Re: [boost] Thoughts on Boost v2
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2014-05-21 07:02:14
On 17 May 2014 at 4:52, Sergey Popov wrote:
> > It proposes we eliminate build systems by making the entire thing a
> > graph database compiling per-type rather than per-file.
>
> Well, I've read that part and I'm not convinced it's a good idea.
> Buildsystem handles not only C++ but other toolchains and tasks. Once
> compiler writers get around to making their compilers cloud based and
> treat all cpp files as one enormous translation unit this can be
> integrated into a build tool as single step. Until then build tools can
> handle C++ dependencies by scanning header files and exchanging
> information between separate projects using tools like pkg-config. For
> now it's best to improve on this.
It isn't doable for a compiler to work as one enormous translation
unit. Even today clang is well known to ICE on Microsoft's internal
code - MSVC is very, very good at dealing with enormous translation
units, and clang will never match MSVC on that with its current
design.
Also, there is no point making compilers cloud based. Silicon density
growth is petering out and will go linear by 2020. After that we no
longer get automatically improving compile times for free, and will
start having to refactor how we do things to get more performance.
It was precisely that refactoring is what my paper is about.
Niall
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk