Опубликовано: Mon, 27 Apr 2026 08:06:32 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр
«Блокировки — это goto конкурентного программирования», — Морис ХерлихиПроблема 60%Наша система логгинга тратила 60% своего времени на ожидание снятия блокировок. Не на выполнение полезной работы, только на одно ожидание.Восемь ядер, пытавшихся записывать сообщения логов, имели общий кольцевой буфер. Реализация была простой: буфер защищался мьютексом. При высокой нагрузке, когда все ядра записывали логи одновременно, профилировщик демонстрировал ужасный паттерн: 60% тактов CPU тратилось на операции с мьютексом.Пропускная способность: 850 тысяч сообщений в секунду. В восьмиядерной системе она должна быть гораздо выше.«Можно ли улучшить ситуацию, отказавшись от блокировок?», — спросил меня мой менеджер во время ревью производительности.Этот вопрос привёл к полной смене архитектуры... Читать далее]]>
https://habr.com/ru/articles/1021408/