log icon indicating copy to clipboard operation
log copied to clipboard

Consider switching dependency from MPL to MP11

Open pwiecz opened this issue 1 year ago • 2 comments

Hi, I'm suffering slow build times of my c++ application. Profiling compilation times shows that significant percentage of time is spent processing MPL headers. I wonder if the Boost::Log team considered switching from MPL to MP11 and if, in your experience, it could bring significant compilation time improvements?

pwiecz avatar Jan 15 '24 10:01 pwiecz

I didn't perform any compilation time comparisons between Boost.MPL and Boost.MP11, but I've seen reports that the latter performs better. I didn't see any numbers, though.

I did think about switching to Boost.MP11, but this would be an API breaking change, as Boost.Log supports user-specified MPL sequences in a few places. I'm not sure if this can be supported in a backwards-compatible way without the dependency on MPL, but it certainly makes the switch not so simple.

Lastique avatar Jan 15 '24 11:01 Lastique

I should also note that Boost.Log filter and formatting expressions are based on Boost.Phoenix, which relies on Boost.Fusion, which, in turn, uses Boost.MPL for metaprogramming. So even if Boost.Log itself makes the switch, I don't think this will remove the dependency on Boost.MPL.

Lastique avatar Jan 15 '24 11:01 Lastique