Атомики и мьютексы в Go: что выбрать для оптимизации
⚡ Атомики vs Мьютексы в Go: кто быстрее?
Прочитал крутой разбор от Benjamin Cane — и вывод простой: «зависит» 😅
▫ Атомики — быстрые (~в 3 раза!), но только для одной операции над одним значением. Например, счётчик хитов.
▫ Мьютексы — медленнее, зато защищают всю логику внутри блока: проверил баланс → списал → обновил таймстамп — всё атомарно.
Проблема атомиков: как только нужна проверка «а можно ли списать?» — приходится городить циклы с CompareAndSwap, ретраями и головной болью. А мьютекс? Просто взял лок — и спи спокойно.
💡 Главный лайфхак автора:
«Начинай с мьютекса (или RWMutex для чтения). Оптимизируй до атомиков только когда профайлер укажет на узкое место».
Простота > скорость, пока скорость не критична. А она редко критична 😉
Подписывайтесь на Telegram Ампилов про ИТ.