блок так велик, что это идет на равне с сисколлом?
Системный вызов за абстракцией boost asio io_context и на тот момент вообще не вызывается, а только ставится в список задач, которые будут исполнены вообще другим потоком, в котором boost::asio::io_context::run вызовится, так что уже 2 потока используют атомарные переменные при копии std::shared_ptr
Без move есть вероятность что не только владение но и lifetime закончится в вызывающем потоке. А это уже скажется на работе с аллокатором. Который может всякими tls пользоваться. Move более детерминирован.
Обсуждают сегодня