Size: a a a

2020 March 18

Т8

Т-34 85 in rust_offtopic
Doge Shibu
Дорого может быть
Если ты пишешь на скале, то это не должно парить
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
Если ты пишешь на скале, то это не должно парить
Но тут речь про раст
источник

Т8

Т-34 85 in rust_offtopic
Doge Shibu
В особенности, если речь про что-то, что надо уметь в другой поток отправить
Ээ... Лайфтайм на ссылку на объект на стеке в другой поток? Или я неправильно понимаю?
источник

r

red75prime in rust_offtopic
Т-34 85
Ээ... Лайфтайм на ссылку на объект на стеке в другой поток? Или я неправильно понимаю?
Есть scoped threads
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
Ээ... Лайфтайм на ссылку на объект на стеке в другой поток? Или я неправильно понимаю?
Вообще да, так можно
источник

Т8

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

DS

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

Т8

Т-34 85 in rust_offtopic
red75prime
Есть scoped threads
Вот это уже интересно. Аналог корутин?
источник

r

red75prime in rust_offtopic
Т-34 85
Сложно представить, где такое может пригодиться. Если только что-то требующее высокой производительности и особо безопасное
или не падающее при загадочных обстоятельствах
источник

DS

Doge Shibu in rust_offtopic
А хип аллокация - это всегда очень дорого для системных и т.п. аллокаторов
источник

DS

Doge Shibu in rust_offtopic
Если есть возможность её не делать, то её надо не делать.
источник

r

red75prime in rust_offtopic
Т-34 85
Вот это уже интересно. Аналог корутин?
Нет. Обычный поток, с ограниченным временем жизни
источник

DS

Doge Shibu in rust_offtopic
Отсюда и не желание оборачивать всё подряд в умные указатели
источник

Т8

Т-34 85 in rust_offtopic
red75prime
Нет. Обычный поток, с ограниченным временем жизни
Насколько ограниченным? На его создание как бы тоже идут ресурсы?
источник

Т8

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

DS

Doge Shibu in rust_offtopic
Т-34 85
Но ведь тебе нет нужды с этим заморачиваться?
В смысле?

Я тут недавно в своем приложении убрал пару хип аллокаций лишних, выиграл процентов 5-10 по производительности
источник

Т8

Т-34 85 in rust_offtopic
Т-34 85
Насколько ограниченным? На его создание как бы тоже идут ресурсы?
Там же всё равно создаётся контекст, правильно?
источник

Т8

Т-34 85 in rust_offtopic
Doge Shibu
В смысле?

Я тут недавно в своем приложении убрал пару хип аллокаций лишних, выиграл процентов 5-10 по производительности
Можно подробности? Что за приложение, какой случай?
источник

r

red75prime in rust_offtopic
Т-34 85
Насколько ограниченным? На его создание как бы тоже идут ресурсы?
Это он логически ограничен. Реализация может использовать thread pool. Запускаешь замыкание в отдельном потоке. Гарантируется, что  поток исполнения не покинет текущий scope, пока поток не завершится, поэтому поток может использовать локальные переменные из scope.
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
Можно подробности? Что за приложение, какой случай?
Всё то же самое, о котором я тут кучу раз писал.

Очередной VRP-solver, в процессе одного рефакторинга пошел и чуть переделал промежуточные расчеты, чтобы максимально переиспользовать уже выделенную память.

По хорошему там нужен либо свой region-based аллокатор, либо бегать с пулом для часто используемых коллекций, но пока и так сойдёт
источник