TGViewer
Go for Devs Go for Devs @go_for_devs · 854 subscribers
Post #108 1.84K
🔥 Перевели хороший разбор про атомарные операции и мьютексы в Go — на примерах и с бенчмарками, без абстрактной теории.

Коротко: sync/atomic действительно быстрее. В простом кейсе с одним общим счётчиком атомики дают ~3× выигрыш по времени операции по сравнению с sync.RWMutex. Это ожидаемо: одна инструкция CPU против захвата блокировки, пусть даже с быстрым путём в рантайме Go.

Проблемы начинаются, как только логика перестаёт быть «одна операция — одно поле». Атомарные операции защищают ровно одну инструкцию. Последовательность прочитать → проверить → записать уже не атомарна. Для корректности приходится переходить к CAS-циклам, ретраям, лимитам попыток. Код быстро обрастает условиями, и цена ошибки становится выше, чем выигрыш в наносекундах.

Из статьи я бы вынес одно практическое правило. Начинать стоит с мьютекса.

Атомарные операции — это инструмент точечной оптимизации, когда:

* объект — одно значение или независимые счётчики,
* нет сложных инвариантов,
* выигрыш подтверждён измерениями, а не ощущениями.

Во всех остальных случаях простота и локальная очевидность кода обычно оказываются важнее разницы между 30 и 100 наносекундами.

📚 Читать на Хабр: https://habr.com/ru/articles/986732/
  • 👍 8
  • 🔥 7
  • ❤ 3
  • 💯 1
More from @go_for_devs
  1. Sep 30, 2026Тут больше не будет новостей, статей и постов про Go. Go-разработчику сейчас важнее не син…
  2. Apr 16, 2026⚡️ Anthropic выпустили Claude Opus 4.7 Cursor зафиксировал рост с 58% до 70% на своём бенч…
  3. Feb 11, 2026🥳 Состоялся релиз Go 1.26 В релиз вошли несколько заметных изменений: 1. Функция new тепе…
  4. Jan 29, 2026Post #116
  5. Jan 22, 2026Помните, осенью мы писали про запуск опроса Go Survey 2025. Так вот, вчера команда Go опуб…
  6. Jan 21, 2026Философский подход к бэкенду
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →