Size: a a a

2020 July 13

S

Stanislav in ntwrk
Yuri V
Нифига не достаточно, если пишешь что-то большее, чем одноразовая тулза пофигу для чего. И совершенно не пофигу, в случае, если пишешь что-то сколь-нибудь производительное и многопоточное.
писал производительные многопоточные приложения и пока не умер 🙂
да и уже не вспомню как балансить avl деревья (писал именно их имплементацию)
источник

YV

Yuri V in ntwrk
Stanislav
писал производительные многопоточные приложения и пока не умер 🙂
да и уже не вспомню как балансить avl деревья (писал именно их имплементацию)
(усмехнувшись) Может, и не умер - но и ничего выдающегося не написал, да? Как насчет lock-free алгоритмов, к примеру? Производительные, гришь? 250к RPS шутя напишешь? ;)
источник

S

Stanislav in ntwrk
миллионы ппс моя софтина перекладывает до сих пор на бывшей работе
правда там немного логики, хидеры прочекать да поблочить незаконные пакеты
источник

YV

Yuri V in ntwrk
Я вот на lock-free чуть не гекнулся. Там, сцуко, нихера не просто.
источник

S

Stanislav in ntwrk
не, я понимаю что это все интересно
ток зачем это обычному разрабу?)
источник

YV

Yuri V in ntwrk
Stanislav
не, я понимаю что это все интересно
ток зачем это обычному разрабу?)
Разве речь об обычных? Сорян тогдась. У меня вот была задача 24 млрд pps обмослать за O(1).
источник

S

Stanislav in ntwrk
тем более в лок-фри уже начинается platform-specific код
источник

YV

Yuri V in ntwrk
Stanislav
тем более в лок-фри уже начинается platform-specific код
Отчасти. На спин-локах. Но мы говорим о lock-free, то есть там нет спин-локов даже.
источник

YV

Yuri V in ntwrk
В lock-free кроме барьеров памяти и атомиков ообще нихрена нет.
источник

YV

Yuri V in ntwrk
Потому они и lock-free.
источник

S

Stanislav in ntwrk
cas ж должен быть
источник

YV

Yuri V in ntwrk
Stanislav
cas ж должен быть
Не обязательно.
источник

S

Stanislav in ntwrk
а какие атомики у тебя на х86?
источник

YV

Yuri V in ntwrk
Stanislav
а какие атомики у тебя на х86?
А я что-то говорил за x86?
источник

S

Stanislav in ntwrk
какая-то деструктивная беседа, я же выше говорил что там платформ специфик вещи начинаются
источник

YV

Yuri V in ntwrk
Stanislav
какая-то деструктивная беседа, я же выше говорил что там платформ специфик вещи начинаются
Нет. Алгоритмические. Платформенно-специфичных вещей в lock-free мало. Как реализован честный атомик, в общем, важно. Но важнее модели памяти и барьеры. Т.е. все та же алгоритмика.
источник

YV

Yuri V in ntwrk
Я просто слегка в курсе, как lock-free портабельный пишется. Кроссплатформенный. ))))
источник

S

Stanislav in ntwrk
а memory barrier не платформозависимый?
источник

YV

Yuri V in ntwrk
Суть не в том. Мы не о платформенно-специфичных вещах. А о важности той же самой алгоритмики ) Которая - на минуточку - важна даже при использовании STL. Если мы о по-настоящему быстрых вещах.
источник

YV

Yuri V in ntwrk
Stanislav
а memory barrier не платформозависимый?
Пока я могу написать
    if (!v_ronce.load(std::memory_order_relaxed))
     std::atomic_store_explicit(&v_ronce, true, std::memory_order_release);
, мне пофигу на его платформенную зависимость, верно?
источник