AB
Недавно оптимизировали следующий случай. На armv7 нет лок-префикса, поэтому rmw-операции, вроде std::atomic_size_t::fetch_or(…), разворачивались в небольшую портянку инструкций (с брэнчем). Код этот хорошо инлайнился и вызывался из тысяч мест. Собственно, мы вывели, что атомарный rmw там и не нужен и простой load-store пойдет. Сэкномили 45KB в бинаре