Предполагается, что использование памяти в моих контейнерах STL будет нестабильным, то есть будет часто уменьшаться и расти.Я думаю, чтобы объяснить это, указав распределитель для объявлений типа контейнера STL.Я понимаю, что распределители пулов предназначены для обработки ситуаций такого типа, но меня беспокоит то, что волатильность будет больше, чем учитывает пул, и чтобы преодолеть ее, мне пришлось бы провести большое тестирование, чтобы определить хорошие показатели пула.
Мой идеальный распределитель никогда бы неявно освобождал память , и фактически вполне приемлем, если память освобождается только после уничтожения распределителя.Функция-член для явного освобождения неиспользуемой памяти была бы хороша, но не обязательна.Я знаю, что то, что я имею в виду, звучит как распределитель на объект, и это нарушает стандарт.Я бы предпочел придерживаться стандарта, но откажусь от него, если не смогу решить его в этом.
Меня меньше беспокоит начальная производительность и больше средняя производительность.Другими словами, не имеет значения, выделяется ли один элемент или их пул за раз, и более важно, приводит ли указанное выделение к вызову new / malloc.У меня нет проблем с написанием моего собственного распределителя, но кто-нибудь знает о существующем, который выполняет это?Если это имеет значение, это будет для смежных контейнеров памяти (например, vector, deque), хотя было бы неплохо обобщенное решение.