Требуется ли автоматическое управление памятью языка программирования Rust для восстановления фрагментированной памяти? Если да, то как это делается?
Я понимаю, что его система типов (типы собственности, заимствования, Rc
, Arc
) позволяет ей детерминистически знать во время компиляции, когда освобожденный фрагмент выделенной памяти может быть освобожден.
Но разве не возможно, что фрагменты памяти распределяются в одном порядке и освобождаются в другом порядке, что приводит к фрагментации? Если это предотвращено, как? Если это произойдет, как эффективно обрабатываются фрагменты памяти? Если они дефрагментированы, то какая методология используется?