дропе условного vec![0; size] в цикле, где на каждой итерации размер vec _может_ увеличиваться. Это нормальное поведение, что при выходе из одной итерации - аллокатор не возвращает память?
loop { let size = s(); let v = vec![0, size]; } На каждой итерации цикла создаётся и дропается v
Это я понимаю, но сталкиваюсь с тем, что на условно больших размерах - память не возвращается в систему. Возможно где-то проблема в логике, но хотелось бы понимать как именно работает аллокатор в таких ситуациях, он как-то резервирует освобожденную память для дальнийших итераций?
Обсуждают сегодня