From: Glyn M. <gly...@gm...> - 2010-10-25 18:59:15
|
Hi, On 25 October 2010 16:32, Nelson, Erik - 2 <eri...@ba...>wrote: > > Dean Michael Berris wrote on Monday, October 25, 2010 > > ... I've made some steps to start > > reducing the compile-times of release 0.8. One of the first casualties > > in the compile-time reduction effort is the Boost.Concept_check stuff > > on the fundamental accessors/wrappers. > > > > Just to throw it out there, maybe some of this could be controlled with > a BOOST_CPP_NETLIB_COMPILE_FAST macro, enabling it to be optional. > > Now there are still a lot of other things I can do to start reducing > > compile-times. One is incorporating precompiled headers into the > > build, and start pre-compiling almost every single header in the > > library. > > Pre-compiled headers seem like they are going to be a mess, and > conceptually similar to going to a non-header-only implementation. I > like the idea of header-only, but maybe a more library-based one would > help the compile time. > I agree with this point. IMO, although I agree that the header-only approach has merits, it seems that since we're already requiring that users link against Boost's system, regex and date_time libraries, we don't seem to be gaining much from this approach anyway. Including the compile time problem and making cpp-netlib strictly being header-only has very few benefits. I would suggest a better use of our focus should be on portability. Additionally, I have been doing a lot of development in embedded systems, where the long compile times and large binaries that are generated pretty much rules out using cpp-netlib. This is a shame, because this is an area where cpp-netlib can provide a lot of benefits to developers. > > > Has anyone played around with CMake and how to make precompiled > > headers part of the build process? I have seen some Google results on > > the matter but I currently have no time/patience to muck around with > > that. > > > > Nothing else in Boost requires CMake, as far as I know. Boost-devel has > had some rumblings about a change, but right now Boost.Build is the > Boost standard. > Sadly ;) > > > I'm nearing the completion of the asynchronous server that invokes > > request handlers in a thread pool and although the compile times have > > been reduced in the HTTP client side of things I would really > > appreciate some CMake kung-fu from people on the list to incorporate > > precompiled-headers (so that we can make that part of the install step > > in 0.8). > > > > Compile time *is* an important issue, but the beauty of a header library > is that there is no install step- you just copy the files into your > directory tree. > But there is an install step, because of the dependencies that cpp-netlib has - and will have: in developing the XMPP client I'll be linking to an XML parser library and TLS library. Other protocol implementations will bring other dependencies and we'll have to deal with those too. Regards, Glyn |