Boost.Asio - отличная библиотека, но у нее есть один огромный недостаток - медленное время компиляции. Простая реализация (действительно простая) протокола HTTP (около 1 тыс. Строк кода) требует около 13,5 с для компиляции под GCC 4.4!
Я попытался использовать PCH, но он не улучшает время компиляции слишком много (около 1 с).
Итак, есть ли какие-либо уроки о том, как быстрее выполнять компиляцию Boost.Asio?
Например, какие заголовки я должен точно указать для какого класса.
Я использую например: io_service
, tcp::ip::sockets
, tcp::ip::acceptor
, deadline_timer
, буферы
и несколько функций, таких как async_read
, async_write
.
Любые предложения?
P.S.: Я использую pimpl, когда могу.