Size: a a a

2020 August 11

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
вроде между двумя чтениями volatile должно быть sequence-before или стандартная плюсовая "ты идешь на хуй по причине конченый долбоеб"
а, понятно
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
бтв мне непонятно откуда тут вообще разночтения могут быть. Должно быть 10 по логике
volatile означает полное подавление оптимизаций компилятора
источник

CD

Constantine Drozdov in rust_offtopic
написано прочитать - значит прочитать
источник

CD

Constantine Drozdov in rust_offtopic
в многопоточке бесполезно, разумеется
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
volatile означает полное подавление оптимизаций компилятора
ну прочитает он 2 раза без оптимизаций - почему это уб должно быть?
источник

RP

Roman Proskuryakov in rust_offtopic
Constantine Drozdov
в многопоточке бесполезно, разумеется
разумеется, крайне полезно
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
ну прочитает он 2 раза без оптимизаций - почему это уб должно быть?
потому что в каком порядке
источник

RP

Roman Proskuryakov in rust_offtopic
если классиков читали
источник

/dev/urandon ¯\_(ツ)_... in rust_offtopic
Constantine Drozdov
потом ответь, сколько раз в жизни ты использовал volatile qualifier
в железках — частенько
источник

CD

Constantine Drozdov in rust_offtopic
/dev/urandon ¯\_(ツ)_/¯
в железках — частенько
ну ты мапишь области памяти железки, а синхронизацию тебе обеспечивает что-то другое
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
volatile означает полное подавление оптимизаций компилятора
насколько я знаю некоторые вещи без volatile вообще не сделать - компилятор соптимизирует "лишнее" и получишь в лучшем случае вечный цикл
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
насколько я знаю некоторые вещи без volatile вообще не сделать - компилятор соптимизирует "лишнее" и получишь в лучшем случае вечный цикл
это нужно когда идёт прямое отображение чей-то памяти
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
насколько я знаю некоторые вещи без volatile вообще не сделать - компилятор соптимизирует "лишнее" и получишь в лучшем случае вечный цикл
например, железяка в оперативу напрямую пишет состояние и это потом замаплено в юзерспейс или типа того
источник

CD

Constantine Drozdov in rust_offtopic
в многопоточке это не нужно, потому что ЦПУ чихал на volatile
источник

BD

Berkus Decker in rust_offtopic
Constantine Drozdov
вроде между двумя чтениями volatile должно быть sequence-before или стандартная плюсовая "ты идешь на хуй по причине конченый долбоеб"
по идее тут два отдельных лоада, потом +
источник

CD

Constantine Drozdov in rust_offtopic
и может проспекулировать
источник

RP

Roman Proskuryakov in rust_offtopic
в многопоточке это крайне полезно
источник

BD

Berkus Decker in rust_offtopic
не должно быть UB, но сложно сказать точно - это ж с++
источник

RP

Roman Proskuryakov in rust_offtopic
глупые люди только говорят, что в многопоточке это не полезно
источник

CD

Constantine Drozdov in rust_offtopic
Berkus Decker
по идее тут два отдельных лоада, потом +
ну комитет не хочет ебаться с вопросом, как должен вести себя компилятор при подобной попытке чтения
источник