
On Thu, Jun 11, 2009 at 1:34 PM, Emil Dotchevski <emildotchevski@gmail.com>wrote:
On Thu, Jun 11, 2009 at 11:15 AM, Zachary Turner<divisortheory@gmail.com> wrote:
Even if we do remove a bunch of stuff from headers, it can still be made faster. Now matter how many ways you approach the problem, choosing to ignore one specific way that actually makes a serious difference simply because it only works on a subset of compilers is fundamentally inconsistent with the notion of developing a cross platform C++ library that works on every compiler.
In a company I worked at, it took ~40 minutes to do a full rebuild of the project I worked on. Their solution was to install IncrediBuild, and overnight build times went down to ~7 minutes total. That's fast right? Worth doing? More than #pragma once? Except that two years later the build times were up to over 30 minutes again _with_ IncrediBuild. :)
I guess I just don't see where the "more than" comes from. If something is worth doing it's worth doing, independent of what else may or may not be worth doing. Whether something gives a "bigger" performance improvement is beside the point. For one thing, removing lots of stuff from existing headers as you suggest is a much larger undertaking than simply adding a few lines of code at the top of (almost) every header file. Does the cost/benefit ratio make it worth doing? More than #pragma once? ;-)