Boost logo

Boost :

Subject: Re: [boost] [http] Design ideas for a request router
From: Rodrigo Madera (rodrigo.madera_at_[hidden])
Date: 2016-03-15 13:10:53


On Tue, Mar 15, 2016 at 7:41 AM, Artyom Beilis <artyom.beilis_at_[hidden]>
wrote:

> There is another critical point.
>
> Compilation time - and I'm serious about it. Web development
> is very dynamic by its nature if you make too many things in
> "fancy-template-meta-programming-compile-time"
> you'll loose users.
>

I don't think that Vinicius' Boost.HTTP tries to be a Web container of some
sort, but rather a library used by such containers. That would encapsulate
a lot of that dynamic nature into the next architecture layer.

If users want C++ for web server development, you would think that they
know the nature of C++ and the implications of wanting such optimized code.
If not, then maybe provide a macro (something like
BOOST_HTTP_FAST_COMPILATION) where optimization is not a goal, but rather
compilation times. I don't know if this impacts greatly on the
implementation though, or if it only concerns a small portion of the
library.

> If you try to do all the stuff by GCC/Clang as Turing machine
> you'll end with horrible compilation times and unmaintainable
> code
>

That would be encapsulated into a library, not user code. Indeed
maintaining a library is no easy task.

> For example one of the reasons I use Boost.Asio very carefully
> due its header-only nature with almost impossible compilation
> times.
>

Better to have high compilation times and very decent optimizes code than
not to. But again, this is MHO.

Madera


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk