From: Kim G. <kim...@gm...> - 2010-02-10 06:47:56
|
Hi all, I just noticed on a different header-only library that MSVC is up to something strange -- and slow -- inside the <functional> header. If TR1 support is enabled (and it seems to be by default), it includes a series of headers repeatedly. I didn't look very closely, but it seems to be some kind of elaborate preprocessor code-generation. Unless cpp-netlib depends on TR1 you could try disabling TR1 support before including any standard library headers; #define _HAS_TR1 0 Or in the jam files building the tests. It cut my compile times from 20 sec to 12-13 sec, so it made a significant difference. Cheers, - Kim On Wed, Feb 10, 2010 at 07:01, Dean Michael Berris <mik...@gm...> wrote: > On Compile-time optimization, there are three main drivers for compile > time complexity with GCC and MSVC especially (I've heard reports that > clang is just wicked fast with template metaprogramming, but I've yet > to see it first hand): > > * Boost.Spirit (even if you use the specific headers) > * Boost.Fusion (even if you use the specific headers) > * Boost.MPL (for tests is being used, and even if you use the > specific headers) > > We *can* do some things to make compile times a little more bearable > using a lot of different techniques but basically I personally have > given up already and am just waiting for the tools to evolve. ;) And > no, for the record I'm not considering going the other route of .cpp > files. :D > > Maybe when the features list is shorter, we can think about optimizing > compile times of just cpp-netlib. Unfortunately we're too dependent on > Boost libraries that exercise your compilers' limits at the moment. > > -- > Dean Michael Berris > cplusplus-soup.com | twitter.com/deanberris > linkedin.com/in/mikhailberis | facebook.com/dean.berris | deanberris.com > > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Cpp-netlib-devel mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cpp-netlib-devel > |