 
            On 24 Oct 2025 12:41, Damien Buhl via Boost wrote:
Hello,
I'm unsure if Andrey is reading the mailing list nowadays as it's been a while I didn't write here.
I am, and welcome back.
But as I explained in my recent blog post, I discovered a missed optimization in Boost.Log, it seems the code implementing the attribute value visitation which is supposed to unroll up to 8 recursion, never unrolls them because nobody defines BOOST_LOG_VALUE_REF_VISITATION_VTABLE_SIZE :
- https://tipi.build/blog/20250528-distributed#-meet-the-whistleblower- boostlogs-recursion-unroller-bug
See https://github.com/boostorg/log/ blob/2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3/include/boost/log/detail/ value_ref_visitation.hpp#L69-L73
I haven't an application on Boost.Log with enough hot code path to measure the performance impact of the unrolling, but I thought I would post it here, possibly this could improve the performance of some application. A workaround is to pass - DBOOST_LOG_VALUE_REF_VISITATION_VTABLE_SIZE=8 to get the unrolling to do what it was supposed to.
Thanks for the report. It looks like PP iteration should have used the BOOST_LOG_VALUE_REF_VISITATION_UNROLL_COUNT constant that is defined above. I probably renamed it at some point, but missed the usage. Should be fixed now on develop.