Size: a a a

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

2020 August 19

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Adv0cat
Тут скорее вопрос на будущее, а не на настоящее)
а смысл засирать стеком процесс?
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Т.е. стек можно увеличить и это делается командой “ulimit -s unlimit”?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Adv0cat
Т.е. стек можно увеличить и это делается командой “ulimit -s unlimit”?
ulimit -s значение
источник

EG

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

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Я не знаю, что будет, если с таким юлимитом вызвать бесконечно-рекурсивную функцию
Понятно, что ответ где-то в области «система крашнется», но я не знаю, каким образом
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Boris Vinogradov
а смысл засирать стеком процесс?
я так понял что стек работает намного быстрее чем куча, а куча быстрее чем маппед файлс в оперативке, вот и вопрос, если сделать бд на стеке, то она будет так же быстро работать и если модно увеличить стек с 2 мб до хотя бы нескольких гб, то это же поидее круто и можно использовать))
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Adv0cat
я так понял что стек работает намного быстрее чем куча, а куча быстрее чем маппед файлс в оперативке, вот и вопрос, если сделать бд на стеке, то она будет так же быстро работать и если модно увеличить стек с 2 мб до хотя бы нескольких гб, то это же поидее круто и можно использовать))
кто тебе сказал эту глупость про то что стек быстрей кучи?
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Я не знаю, что будет, если с таким юлимитом вызвать бесконечно-рекурсивную функцию
Понятно, что ответ где-то в области «система крашнется», но я не знаю, каким образом
ну это да, это уже нужно тестить и к разговору не имеет отношения)
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Boris Vinogradov
кто тебе сказал эту глупость про то что стек быстрей кучи?
Аллокация на стеке быстрее, чем аллокация на куче
источник

s

sexst in Rust — русскоговорящее сообществo
Boris Vinogradov
кто тебе сказал эту глупость про то что стек быстрей кучи?
Стек быстрее потому что размечается что куда во время компиляции, а не в рантайме жи
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
особенно когда идёт речь о несколькольких ГБ
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
sexst
Стек быстрее потому что размечается что куда во время компиляции, а не в рантайме жи
Не обязан, см. VLA в C
источник

s

sexst in Rust — русскоговорящее сообществo
Поэтому хрен что взлетит в kv - потому что во время компиляции нет чёткого перечня переменных понятной размерности
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Аллокация на стеке быстрее, чем аллокация на куче
нет аллокации на стеке, есть фреймование, это немного разные юниты если быть совсем буквальным
источник

s

sexst in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Не обязан, см. VLA в C
Не обязан, но фактически оно повсеместно так. Или выделение памяти не быстрее кучи будет
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
sexst
Не обязан, но фактически оно повсеместно так. Или выделение памяти не быстрее кучи будет
Быстрее.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Выделение памяти на стеке это одна инструкция sub
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
sexst
Стек быстрее потому что размечается что куда во время компиляции, а не в рантайме жи
опять же сомнительное утверждение, т.к. я могу сделать программу которая будет каждый раз по разному юзать стек
источник

EG

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

s

sexst in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Быстрее.
И сильно в рамках такой то задачи?
источник