В типичных системах x86 и ARM существует ли какое-либо снижение производительности при создании переменной std::atomic и выполнении только операций std::memory_order_relaxed? (По сравнению с обычным значением и выполнением неатомарных операций.)
Я осознаю, что более строгие гарантии порядка в памяти могут привести к снижению производительности; Мне особенно интересно, налагает ли std::memory_order_relaxed какие-либо штрафы.
Кроме того, предположим, что операции выполняются над объектами, которые удовлетворяют std::is_always_lock_free. В противном случае наверняка будет штраф из-за обязательного мьютекса.
Подробнее здесь: https://stackoverflow.com/questions/791 ... er-relaxed