LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

ну если хочешь очень быстро хватать и отдавать куски памяти, то они должны юыть одного размера, иначе фрагментация. если кадры существенно разного размера, то делаются пулы разных размеров кусков. типа 2k,4k,8k,16к и так далее, чтобы память экономить. то есть, если известно что кадр размером менее 4к, но более 2к - берется кусок из пула - 4к. тут можно навернуть всяких адаптивных технологий, поскольку пул - это список свободных кусков данного размера. если список пуст, а кусок такой нужен, он захватывается у кучи, а потом отдается в пул данных кусков, таким образом пул будет расти. если куски данного пула мало используются - они отдаются в кучу - такой пул будет сокращаться.

Исходная версия alysnix, :

ну если хочешь очень быстро хватать и отдавать куски памяти, то они должны юыть одного размера, иначе фрагментация. если кадры существенно разного размера, то делаются пулы разных размеров кусков. типа 2k,4k,8k,16к и так далее, чтобы память экономить. то есть, если известно что кадр размером менее 4к, но более 2к - берется кусок из пула - 4к. тут можно навернуть всяких адаптивных технологий, поскольку пул - это список свободных кусков данного размера. если список пуст, а кусок такой нужен, он захватывается у кучи. если куски данного пула мало используются - они отдаются в кучу.