Size: a a a

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

2020 September 06

H

Hedgar in Rust — русскоговорящее сообществo
Bogdan
По моеиу это проблема алгоритма кривого, а не раста. Используйте поограммный стек
Алгоритм самый обыкновенный - я думаю, это падает деструктор дефолтный.
Просто от 1 до 8 МБ стек в 2020 году - это издевательство.
источник

B

Bogdan in Rust — русскоговорящее сообществo
Hedgar
Алгоритм самый обыкновенный - я думаю, это падает деструктор дефолтный.
Просто от 1 до 8 МБ стек в 2020 году - это издевательство.
Дерево не сбаллансировпное, наверно

Про 1 — 8 не понял
источник

H

Hedgar in Rust — русскоговорящее сообществo
Думаю, opt-level=1 решит проблему временно ценой времени билда - потом протестирую на околобесконечных деревьях
источник

H

Hedgar in Rust — русскоговорящее сообществo
Bogdan
Дерево не сбаллансировпное, наверно

Про 1 — 8 не понял
в разных ОС от 1 до 8 МБ размер стека по умолчанию
источник

H

Hedgar in Rust — русскоговорящее сообществo
в винде вроде бы меньше, 2 или 4, а в линуксах - 8 обычно
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Так если там тайлкол, он же на цикл переписывается почти что автоматически
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
А если не переписывается, значит не тайлкол🤔
источник

H

Hedgar in Rust — русскоговорящее сообществo
Julian =) Coffee
Так если там тайлкол, он же на цикл переписывается почти что автоматически
тоже так думаю, по крайней мере при opt-level = 1 уже нет оверфлова, и я не думаю, что дело в кол-ве дебаг-информации
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Может попробовать увеличить размер стэка?
источник

H

Hedgar in Rust — русскоговорящее сообществo
Bogdan
Дерево не сбаллансировпное, наверно

Про 1 — 8 не понял
это синтаксическое дерево в компиляторе
источник

H

Hedgar in Rust — русскоговорящее сообществo
Julian =) Coffee
Может попробовать увеличить размер стэка?
не могу заставлять всех пользователей увеличивать размер стэка(
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Хм, я думал можно изнутри программы🙈
источник

H

Hedgar in Rust — русскоговорящее сообществo
Julian =) Coffee
Хм, я думал можно изнутри программы🙈
я пробовал - не получилось
источник

AT

Alexander Tchitchigi... in Rust — русскоговорящее сообществo
Hedgar
я пробовал - не получилось
Можно, если запустить в отдельном потоке.
источник

NE

Nyc Enas in Rust — русскоговорящее сообществo
let child = thread::Builder::new().stack_size(32 * 1024 * 1024).spawn(move || { /* code to be executed in thread  */ }).unwrap();
источник

H

Hedgar in Rust — русскоговорящее сообществo
Alexander Tchitchigin
Можно, если запустить в отдельном потоке.
спасибо, попробую
источник

H

Hedgar in Rust — русскоговорящее сообществo
Nyc Enas
let child = thread::Builder::new().stack_size(32 * 1024 * 1024).spawn(move || { /* code to be executed in thread  */ }).unwrap();
спасибо
источник

NE

Nyc Enas in Rust — русскоговорящее сообществo
а изначально нельзя указать размер стека? просто насколько я знаю клмпилятор раста как-то его оптимальный размер расчитывает и устанавливает при компиляции
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
В винде можно, в линуксе нет
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Но в линуксе есть команда ulimit, с помощью которой уже перед запуском можно задавать размер стека по умолчанию
источник