Size: a a a

2020 March 10

A

Adv0cat in rust_offtopic
Та ужас, это плохой знак, если в чатике начали про политику или околополитику 😁
источник

Т8

Т-34 85 in rust_offtopic
Adv0cat
И как ВОТ ЭТО ВСЁ относится к Rust? 😄
Никак. А почему это должно относиться?
источник

Т8

Т-34 85 in rust_offtopic
Nick Linker
А я всё ждал, когда же в Rust чате заговорят про курс доллара и НЕФТЬ😅
Это не раст, а раст оффтопик
источник

A

Adv0cat in rust_offtopic
Т-34 85
Никак. А почему это должно относиться?
я в растерянности, что на это ответить 😐
источник

AL

Andrey @ozkriff Lesn... in rust_offtopic
Adv0cat
И как ВОТ ЭТО ВСЁ относится к Rust? 😄
Так это ж оффтопик чат, тут нет ограничений на темы
источник

AL

Andrey @ozkriff Lesn... in rust_offtopic
Adv0cat
Та ужас, это плохой знак, если в чатике начали про политику или околополитику 😁
а тут да. околополитические споры редко конструктивно и без лишних эмоций проходят)
источник

DS

Doge Shibu in rust_offtopic
Вон, лучше бы хоть кто-нибудь открыл статью, которую я скинул, там любопытно.
источник

A

Adv0cat in rust_offtopic
источник

NL

Nick Linker in rust_offtopic
Doge Shibu
T-34

К вчерашнему разговору про автоматическое управление памятью без ГЦ, RC и аффинных типов:
https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-908.pdf
Положил в ридинг лист с достаточно высоким приоритетом 👍
источник

DS

Doge Shibu in rust_offtopic
Nick Linker
Положил в ридинг лист с достаточно высоким приоритетом 👍
Пошел читать подробно, там достаточно любопытный подход, что-то вроде специализированного "гц" под программу.

Где может доказать нужные факты в компайл тайм - там вставляются free как обычно, где не может - там скан заранее ограниченного куска хипа.
источник

DS

Doge Shibu in rust_offtopic
Надо теперь дочитать до момента, где определяют какой участок хипа и как сканить, самый любопытный момент.

И насколько участок ограниченный.
источник

P

Pavel in rust_offtopic
Doge Shibu
Пошел читать подробно, там достаточно любопытный подход, что-то вроде специализированного "гц" под программу.

Где может доказать нужные факты в компайл тайм - там вставляются free как обычно, где не может - там скан заранее ограниченного куска хипа.
в джаве эскейп-анализ примерно то же делает, только в маленьком скоупе, если может доказать, что объект не вытекает -- может аллоцировать его на стеке, например ещё во время компиляции
источник

DS

Doge Shibu in rust_offtopic
Pavel
в джаве эскейп-анализ примерно то же делает, только в маленьком скоупе, если может доказать, что объект не вытекает -- может аллоцировать его на стеке, например ещё во время компиляции
Да, это понятно, но тут сильно более широкая штука заточенная под whole program analysis.
источник

P

Pavel in rust_offtopic
Doge Shibu
Да, это понятно, но тут сильно более широкая штука заточенная под whole program analysis.
я так понял, смысл в грамотном распределении по разным хипам по времени жизни, или определении их не явно в общем?
источник

P

Pavel in rust_offtopic
(пока ещё не открывал)
источник

DS

Doge Shibu in rust_offtopic
Pavel
я так понял, смысл в грамотном распределении по разным хипам по времени жизни, или определении их не явно в общем?
Там статический liveness анализ, где возможно, который просто вставляет free, как тот же раст.

Где не возможно - очень маленькие регионы для скана + его логику возможно задать кастомную для каждого типа.
источник

P

Pavel in rust_offtopic
Doge Shibu
Там статический liveness анализ, где возможно, который просто вставляет free, как тот же раст.

Где не возможно - очень маленькие регионы для скана + его логику возможно задать кастомную для каждого типа.
ну а где невозможно он всё равно динамически делает через rc/mark?
источник

DS

Doge Shibu in rust_offtopic
Pavel
ну а где невозможно он всё равно динамически делает через rc/mark?
Там скорее что-то вроде mark. Разница в том, что небольшие регионы памяти и в детерменированное время, не как у обычного гц.
источник

DS

Doge Shibu in rust_offtopic
Отдельный вопрос как работать в такой схеме с многопоточностью, автор эту тему обходит, предлагает в случае fork-join concurrency делать деаллокации разделямых значений в join
источник

DS

Doge Shibu in rust_offtopic
Если кому интересно, то вышел я на эту статью с сайта GRIN, там ещё несколько интересных статей, но уже просто на тему компиляторов и whole program analysis
источник