Size: a a a

Rust — русскоговорящее сообществo

2020 October 22

r

red75prime in Rust — русскоговорящее сообществo
Dollar Føølish
Без меси мы бы программировать вообще не смогли
На расте можно было бы. Эксклюзивность доступа - явная. Инструкции явной синхронизации кэшей можно эмитить. Впрочем, могу ошибаться. Глубоко не продумывал
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Но должна же быть инструкция "вот эта запись должна быть видна всем ядрам", когда ссылка умирает?
источник

M

Mnwa in Rust — русскоговорящее сообществo
Написал в дискорде токио, интересно, что расскажут
источник

p

polunin.ai in Rust — русскоговорящее сообществo
H: Plucker<T, Idx>
но
когда я пишу where Container<D>: Get<T, Idx>
раст не выводит что D: Plucker<T, Idx>
это вывод типов хворает или я ошибаюсь где-то?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Видимость, к сожалению не гарантирует даже SeqCst
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
только вот в случае RMW операции будет видно последнее значение
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
да, на практике будет видна на том же х86 сбрасывается стор баффер после SeqCst стора
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
но гарантии в общем случае нету
источник

r

red75prime in Rust — русскоговорящее сообществo
polunin.ai
H: Plucker<T, Idx>
но
когда я пишу where Container<D>: Get<T, Idx>
раст не выводит что D: Plucker<T, Idx>
это вывод типов хворает или я ошибаюсь где-то?
В случае специализации реализаций может быть несколько. С разными where. Задел на будущее, в общем.
источник

M

Mnwa in Rust — русскоговорящее сообществo
Dollar Føølish
но гарантии в общем случае нету
Так seqcst в ++ модели гарантирует глобальный порядок исполнения атомиков + тему с happens before
По сути вместе эти штуки должны гарантировать видимость жеж
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
нет
источник

M

Mnwa in Rust — русскоговорящее сообществo
Хотя я могу чет не так понимать
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
давай посмотрим на что ты рассчитываешь в данном примере
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
я щас просто пытаюсь на плейграунде асм разглядеть, но там ужос килотонны текста
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
ты думаешь что операции треда будут исполнены по порядку? нет, так как лоды/сторы у тебя в разные переменные
источник

M

Mnwa in Rust — русскоговорящее сообществo
Это да, но я жду что не может быть кейса, когда пришло два 0 при лоаде, потому что что 1 тред, что второй сохраняет единицу в атомики
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
на каком основании?
источник

DS

David Sorokin in Rust — русскоговорящее сообществo
напомнило один пример по хаскелю: https://hackage.haskell.org/package/base-4.14.0.0/docs/Data-IORef.html#g:2
источник

M

Mnwa in Rust — русскоговорящее сообществo
Как я и написал, из-за гарантии порядка исполнения + гарантии что мы после записи и чтения в атомик увидим другие изменения в памяти
источник