Size: a a a

2020 October 06

A

Alisher in Go-go!
ребят я уже день как читаю про rabbitmq но чутка не понимаю как отдать сообщение воркерам
источник

A

Alisher in Go-go!
чтобы они там сфигачили своё дело
источник

A

Alisher in Go-go!
и отправили сообщение обратно юзеру
источник

A

Alisher in Go-go!
Alisher
и отправили сообщение обратно юзеру
т.е отправили уже сфигаченное дело юзеру
источник

p

pragus in Go-go!
MrSmith
Атомики это кирпичики Лок фри в месте с барьерами памяти, но важно понимать что атомики ждут, время шареной памяти для последнего ядра растет по в геом прогресии
какого последнего ядра?
источник

M

MrSmith in Go-go!
Физического, ну вот у меня тредрипер то 64
источник

AA

Andrey Ashurko in Go-go!
а если ядро одно?
источник

A

Adv0cat in Go-go!
Andrey Ashurko
а если ядро одно?
зачем вам атомики тогда)
источник

p

pragus in Go-go!
MrSmith
Физического, ну вот у меня тредрипер то 64
так чего атомики ждут?
источник

A

Alisher in Go-go!
Alisher
т.е отправили уже сфигаченное дело юзеру
или нужно написать хендлер для сообщений, в интернете мало примеров везде они делают что то очень базовое
источник

M

MrSmith in Go-go!
Alisher
или нужно написать хендлер для сообщений, в интернете мало примеров везде они делают что то очень базовое
источник

p

pragus in Go-go!
Adv0cat
зачем вам атомики тогда)
данные между потоками синхронизировать.
источник

M

MrSmith in Go-go!
На X86 не атомарный инкремент — простое увеличение integer на единицу занимает один такт процессора [1]. Если сделать эту операцию атомарной, то она будет занимать от 5 до 20 тактов, если только одно ядро делает атомарную инструкцию и если это ядро последнее меняло атомарную переменную [2]. Если ядро не последним меняло атомарную переменную, то в районе 40 тактов.

Итого, такое решение в 5-40 раз медленнее только за счет того, что использована атомарная переменная. Дальше хуже.
источник

M

MrSmith in Go-go!
Атомарный не значит wait free
источник

M

MrSmith in Go-go!
В этом смысл в этом вся суть
источник

p

pragus in Go-go!
MrSmith
На X86 не атомарный инкремент — простое увеличение integer на единицу занимает один такт процессора [1]. Если сделать эту операцию атомарной, то она будет занимать от 5 до 20 тактов, если только одно ядро делает атомарную инструкцию и если это ядро последнее меняло атомарную переменную [2]. Если ядро не последним меняло атомарную переменную, то в районе 40 тактов.

Итого, такое решение в 5-40 раз медленнее только за счет того, что использована атомарная переменная. Дальше хуже.
ну и?
источник
2020 October 07

M

MrSmith in Go-go!
Что ну и?
источник

A

Alisher in Go-go!
вы это мне?
источник

M

MrSmith in Go-go!
Не роману, не туда ушло
источник

AA

Andrey Ashurko in Go-go!
MrSmith
В этом смысл в этом вся суть
аааа имелось в виду последнее из ядер, которые в очереди на изменение атомика
источник