Size: a a a

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

2020 September 12

DK

Dmitriy Knyaginin in Rust — русскоговорящее сообществo
Эрик
Да. В знаке равно, например: =
😂
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Я бы скорее сказал про синтаксис замыканий
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Вот там как раз параллельность важна
источник

Э

Эрик in Rust — русскоговорящее сообществo
А если серьёзно, то смотри std::thread::spawn и tokio::spawn или smol::Task::spawn.
источник

DK

Dmitriy Knyaginin in Rust — русскоговорящее сообществo
Эрик
А если серьёзно, то смотри std::thread::spawn и tokio::spawn или smol::Task::spawn.
я ожидал что-то типа parallel_for как в VC++
источник

Э

Эрик in Rust — русскоговорящее сообществo
Первое это OS-треды, а второе и третье — зелёные треды.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Dmitriy Knyaginin
я ожидал что-то типа parallel_for как в VC++
источник

Э

Эрик in Rust — русскоговорящее сообществo
Да, вон, всякие ништяки и адаптеры под треды есть в rayon и crossbeam.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
источник

Э

Эрик in Rust — русскоговорящее сообществo
Хотя про crossbeam не уверен.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Но у rayon довольно большие накладные расходы на преобразование в pariter/коллект из pariter.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Т. е. надо быть аккуратным и не пытаться распараллелить и так быстрые задачи
источник

Э

Эрик in Rust — русскоговорящее сообществo
Или просто сразу в параллельном виде делать. Но это придётся по большей части руками с тем же std::thread::spawn.
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Т. е. надо быть аккуратным и не пытаться распараллелить и так быстрые задачи
Когда мы нашу криптографию в район засунули (где большая часть - умножение в avx512) получили раза в два хуже скорость.
источник

V

Vladimir in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Т. е. надо быть аккуратным и не пытаться распараллелить и так быстрые задачи
У района вроде ж можно было это тюнить? Я помню ещё в первой версии квиксорта была оптимизация для последних пачек
источник

OA

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

V

Vladimir in Rust — русскоговорящее сообществo
Oleg Andreev
Когда мы нашу криптографию в район засунули (где большая часть - умножение в avx512) получили раза в два хуже скорость.
Тут ещё зависит от того где запускать. Много ж процессоров шарят авх юниты между ядрами/тредами
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
Какой то норм ай7 был
источник

V

Vladimir in Rust — русскоговорящее сообществo
Особенно критично на ноутах, где просто можно в тротлинг уйти
источник

V

Vladimir in Rust — русскоговорящее сообществo
Короче профилировать надо
источник