Некоторые преимущества выделения памяти с помощью brk в сравнении с malloc:
- Простота использования. 4 Brk изменяет размер кучи и прост в применении. 4
- Историческая значимость. 2 В ранних версиях Unix brk был единственным способом увеличить размер сегмента данных процесса. 2
Некоторые недостатки выделения памяти с помощью brk в сравнении с malloc:
- Ограничения. 2 Традиционно brk использовался для получения неоптимальной памяти из-за условий гонки, повышенной фрагментации и искусственных ограничений на максимальный объём используемой памяти. 2
- Невозможность вернуть память ядру. 2 Если после кратковременного большого выделения происходит долгосрочное небольшое выделение, то память нельзя вернуть ядру. 2
- Невозможность расширить выделение, если отдельное выделение malloc следует за большим выделением. 2
В большинстве случаев для регулировки кучи используют более удобные для пользователя функции, такие как malloc и free. 3