Boost.Asio is great library but it has one huge drawback -- extreamly slow compilation times. A simple implementation (really simple) of HTTP protocol (about 1k lines of code) requires about 13.5s to compile under GCC 4.4!
I tryed to use PCH but it does not improve compilation times too much (about 1s. only).
So are there any tutorials on how to make Boost.Asio compilation times faster?
For example what headers should I exactly include for what class.
I use for example: io_service
, tcp::ip::sockets
, tcp::ip::acceptor
, deadline_timer
, buffers
and few functions like async_read
, async_write
.
Any suggestions?
P.S.: I do use pimpl whenever I can.