
On Thu, Jun 11, 2009 at 11:15 AM, Zachary Turner<divisortheory@gmail.com> wrote:
On Thu, Jun 11, 2009 at 12:51 PM, Emil Dotchevski <emildotchevski@gmail.com>wrote:
On Thu, Jun 11, 2009 at 1:34 AM, John Maddock<john@johnmaddock.co.uk> wrote:
I'm not sure you got my drift, using BOOST_WORKAROUND effectively flags the better #pragma once performance on MSVC as a bug. :)
Sure, but it requires #including boost/workaround.hpp in every header, which is surely not such a great idea?
In fact wouldn't the extra #includes outweigh the use of pragma once?
Yeah, I wast mostly joking :) but then again, in my mind improving build times by using pragma once is a joke too. If we want to deal with the problem of slow builds we should be removing stuff from headers, instead of making it easier to swallow all that crap.
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. :) Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode