Size: a a a

2020 May 19

Т8

Т-34 85 in rust_offtopic
Doge Shibu
Реально, но ты помни, что если ты хочешь шарить несколько мутабельные ссылок на одно и то же между потоками, то тебе нужны примитивы синхронизации под это.
Так тогда опять те самые кэш миссы полезут. Или не полезут?
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
Так тогда опять те самые кэш миссы полезут. Или не полезут?
А иначе никак, если ты реально шаришь несколько мутабельных ссылок на одно и то же между несколькими тредами
источник

DS

Doge Shibu in rust_offtopic
Если ты их так не шаришь, то тебе и примитивы синхронизации не нужны.
источник

DF

Dollar Føølish in rust_offtopic
У тебя кэш мисс ограничен контрол блоком
источник

DF

Dollar Føølish in rust_offtopic
Какая в этом проблема?
источник

r

red75prime in rust_offtopic
Doge Shibu
Реально, но ты помни, что если ты хочешь шарить несколько мутабельные ссылок на одно и то же между потоками, то тебе нужны примитивы синхронизации под это.
Несколько мутабельных (AKA уникальных) ссылок на одно и то же - instant UB. Шарить можно только шареные ссылки.
источник

DS

Doge Shibu in rust_offtopic
red75prime
Несколько мутабельных (AKA уникальных) ссылок на одно и то же - instant UB. Шарить можно только шареные ссылки.
Семантически имеется в виду. Так то понятно, что ссылка будет одна за каким-нибудь примитивом синхронизации
источник

Т8

Т-34 85 in rust_offtopic
red75prime
Со scoped threads реально
Надо эту тему подробно посмотреть, уже второй раз её упоминают. Там, видимо, какое математическое доказательство прогоняется компилятором, что всё сходится?
источник

DF

Dollar Føølish in rust_offtopic
Хотя интересно про интрузивных птр
источник

DF

Dollar Føølish in rust_offtopic
Если я правильно помню STD:: make shared аллоцирует один блок и для объекта и для контрол блока
источник

DF

Dollar Føølish in rust_offtopic
Так что не шибко хуже интрузивного
источник

DF

Dollar Føølish in rust_offtopic
В обоих случаях оно может уместиться в кашелинию
источник

DF

Dollar Føølish in rust_offtopic
Но гарантии ли это стандарта или гцц уже не помню
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
Надо эту тему подробно посмотреть, уже второй раз её упоминают. Там, видимо, какое математическое доказательство прогоняется компилятором, что всё сходится?
Тогда у тредов ограничено время жизни, поэтому туда можно спокойно кидать не 'static ссылки
источник

r

red75prime in rust_offtopic
Т-34 85
Надо эту тему подробно посмотреть, уже второй раз её упоминают. Там, видимо, какое математическое доказательство прогоняется компилятором, что всё сходится?
Гарантируется, что выполнение кода в другом потоке останавливается до выхода основного потока из scope, поэтому другой поток может использовать ссылки с лайфтаймами равными этому scope.
источник

NL

Nick Linker in rust_offtopic
Т-34 85
Надо эту тему подробно посмотреть, уже второй раз её упоминают. Там, видимо, какое математическое доказательство прогоняется компилятором, что всё сходится?
Кстати, ты посмотри как ржавый Mutex сделан, он не захватывается в случаях, если компилятор знает, что доступ безопасен.
Такое плюсам недоступно.
Ну и для  полноты картины возьми rayon и/или crossbeam, сделай прототип и померь.
Может эти кеш миссы не такие страшные, что ты тут воображаешь.
источник

Т8

Т-34 85 in rust_offtopic
Nick Linker
Кстати, ты посмотри как ржавый Mutex сделан, он не захватывается в случаях, если компилятор знает, что доступ безопасен.
Такое плюсам недоступно.
Ну и для  полноты картины возьми rayon и/или crossbeam, сделай прототип и померь.
Может эти кеш миссы не такие страшные, что ты тут воображаешь.
Ну, это не я, а геймдевщик. И он про атомарный Rc
источник

NL

Nick Linker in rust_offtopic
Т-34 85
Ну, это не я, а геймдевщик. И он про атомарный Rc
А, сорян.
источник

Т8

Т-34 85 in rust_offtopic
Спасибо за ответы, я верю, что в Расте продумано. Но надо вникать, чтобы разобраться, как этим пользоваться.
источник

Т8

Т-34 85 in rust_offtopic
Nick Linker
А, сорян.
Он, кстати, жаловался на отсутствие CT reflection. Но, кажется, этого и в Rust нет?
источник