Size: a a a

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

2021 June 15

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
Не надо с интерлокедами возиться руками
источник

r

red75prime in Rust — русскоговорящее сообщество
Для таких случаев есть once_cell: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=54cbc9343e0bd2088c40dcaf8ee31137  
Miri - виртуальная машина, которая проверяет наличие некоторых UB. Есть на плейграунде. Справа - Tools > Miri
источник

T

Tux in Rust — русскоговорящее сообщество
я для инициализации его и использую)
источник

T

Tux in Rust — русскоговорящее сообщество
спасибо, не знал про miri
источник

B

Bulba in Rust — русскоговорящее сообщество
dyn Box с zst не аллоцирует же?
источник

🧙

🧙‍♂️🦹‍♂️🧜‍♂️🧞‍♂️... in Rust — русскоговорящее сообщество
Привет. Подскажите самый быстрый способ исключить повторяющиеся данные из массива в rust
источник

r

red75prime in Rust — русскоговорящее сообщество
sort_unstable() и потом dedup(). Это для вектора
источник

🧙

🧙‍♂️🦹‍♂️🧜‍♂️🧞‍♂️... in Rust — русскоговорящее сообщество
а какой O(n)?
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообщество
В найтли есть partition_dedup для слайсов
источник

П

Пух in Rust — русскоговорящее сообщество
Чонить с сетом
источник

r

red75prime in Rust — русскоговорящее сообщество
O(n log n) - сортировка, O(n) - dedup
источник

goldstein опять in Rust — русскоговорящее сообщество
Сколлектить в хешсет и сконвертировать обратно — амортизированный O(N)
источник

🧙

🧙‍♂️🦹‍♂️🧜‍♂️🧞‍♂️... in Rust — русскоговорящее сообщество
о круто
источник

goldstein опять in Rust — русскоговорящее сообщество
Но может быть медленнее чем сортировка и дедупликация из-за лишних аллокаций и хеширования
источник

r

red75prime in Rust — русскоговорящее сообщество
Самый интересный вопрос на каких размерах данных начнёт обгонять.
источник

goldstein опять in Rust — русскоговорящее сообщество
Зависит ещё от самих данных и от того, какой хеш мы используем
источник

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

🧙

🧙‍♂️🦹‍♂️🧜‍♂️🧞‍♂️... in Rust — русскоговорящее сообщество
допустим только числа без сортировки
источник

goldstein опять in Rust — русскоговорящее сообщество
Числа в небольшом рендже может быть вообще выгоднее отсортировать подсчётом. O(N + K), где K — диапазон чисел
источник

goldstein опять in Rust — русскоговорящее сообщество
Если ты работаешь с u8, например, то тебе потребуется всего 32 байта памяти, и O(N + K) будет неотличимо от O(N) для N >> 256
источник