170 похожих чатов

@Onokonem а вот кстати в своем списке вопросов вроде ты

упоминал что частое использование atomic может привести к потере производительности... там какие-то проблемы с кроме сброса кэша есть?

8 ответов

21 просмотр

Синхронизация Кеша, да. На мультипроцессорной машине будет ваще превед

много трафика синхронизации кешей.

Andrey-S Автор вопроса
Daniel Podolsky
Синхронизация Кеша, да. На мультипроцессорной маши...

На самом деле 50/50 :) при переключении контекста OS обычно пытается вернуть тред на этот же процессорный сокет :)

Daniel Podolsky
Синхронизация Кеша, да. На мультипроцессорной маши...

превед будет на numa, которая почти везде теперь

Roman Timofeev
много трафика синхронизации кешей.

но на практике если мне надо безопасно получить какое то значение, то func (w *worker) getState() int32 { return atomic.LoadInt32(&w.state) } более предпочтительный вариант чем func (w *worker) getState() int32 { w.mutex.Lock() defer w.mutex.Unlock() return w.state } Или я ошибаюсь? Вроде первый вариант быстрее будет?

Алексей Долгов
но на практике если мне надо безопасно получить ка...

атомики хороши для флагов, счётчиков и когда надо атомарно(внезапно!) заменить значение/поинтер

Алексей Долгов
но на практике если мне надо безопасно получить ка...

первый вариант быстрее, но у них будет разница в поведении

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта