Size: a a a

2020 March 05

λ

λоλторт in rust_offtopic
polunin.ai
&Box<> соптимизируется до одного указателя, или будет два висеть?
А разве у бокса нет никакого as_ref?
источник

p

polunin.ai in rust_offtopic
хз, нужно будет глянуть
источник

DS

Doge Shibu in rust_offtopic
polunin.ai
может я неправильно применил термин
у меня есть
    0
  /   \
 1     2
/ \   / \
3  4 5  6
мне нужно итератором получать поочередно следующие элементы:
3, 4, 1, 5, 6, 2, 0
И с какого узла ты начинаешь этот обход?
источник

p

polunin.ai in rust_offtopic
Doge Shibu
И с какого узла ты начинаешь этот обход?
ну у меня изначально дан узел 0
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
может я неправильно применил термин
у меня есть
    0
  /   \
 1     2
/ \   / \
3  4 5  6
мне нужно итератором получать поочередно следующие элементы:
3, 4, 1, 5, 6, 2, 0
Начинаешь с 0. Кладёшь в вектор 1 и 2 узлы. Проходишь снова по узлам в векторе (сейчас там 1 и 2 уже), смотришь, что у 3 и 4, 5 и 6 детей нет, печатаешь их и т.д., ты понял
источник

p

polunin.ai in rust_offtopic
polunin.ai
ну у меня изначально дан узел 0
у него есть vec![Box(1), Box(2)]
источник

p

polunin.ai in rust_offtopic
и так далее
источник

G

Gymmasssorla in rust_offtopic
Это максимально просто
источник

DS

Doge Shibu in rust_offtopic
polunin.ai
ну у меня изначально дан узел 0
Ну да, тогда ниже написали как надо действовать.
источник

p

polunin.ai in rust_offtopic
Gymmasssorla
Начинаешь с 0. Кладёшь в вектор 1 и 2 узлы. Проходишь снова по узлам в векторе (сейчас там 1 и 2 уже), смотришь, что у 3 и 4, 5 и 6 детей нет, печатаешь их и т.д., ты понял
не будет дохрена переаллокаций?
источник

DS

Doge Shibu in rust_offtopic
Только тебе надо учесть, что ты в обратном порядке хочешь обход, но это легко выправить.
источник

p

polunin.ai in rust_offtopic
если по одному элементу добавлять
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
не будет дохрена переаллокаций?
Для тебя придумали with_capacity и умные аллокаторы
источник

p

polunin.ai in rust_offtopic
Gymmasssorla
Для тебя придумали with_capacity и умные аллокаторы
ну мне размер не дается
источник

G

Gymmasssorla in rust_offtopic
См. jemalloc/mimalloc
источник

p

polunin.ai in rust_offtopic
хотя я могу его записать, если надо
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
ну мне размер не дается
Ну можешь в потолок тыкнуть
источник

G

Gymmasssorla in rust_offtopic
Если перформанс плохой будет
источник

G

Gymmasssorla in rust_offtopic
Но думаю, что с умными аллокаторами будет хорошо
источник

p

polunin.ai in rust_offtopic
ну ладно, в принципе пока пофиг на перфоманс, сделаю по-наивному
источник