Я создаю временный стек объектов - в основном для использования структур STL на основе кучи, которые на самом деле имеют временное время жизни, но любое другое временное распределение с динамическим размером. Один стек выполняет все типы - хранение в развернутом связанном списке.Распределение памяти распределителя памяти
Я пришел с обрезкой с выравниванием. Я могу получить выравнивание с std::alignment_of<T>
, но это не очень здорово, потому что мне нужно выравнивание следующего типа, который я хочу выделить. Прямо сейчас, я просто произвольно сортировал каждый объект с кратным 16, что, насколько мне известно, является максимальным выравниванием для любого типа x86 или x64. Но теперь у меня есть два указателя накладных расходов на каждый объект, а также стоимость их размещения в моем векторе плюс стоимость того, чтобы каждый размер округлился до кратного 16.
На стороне плюса , строительство и разрушение являются быстрыми и надежными.
Как это сравнить с обычным оператором new/delete? И какие типы тестов я могу запустить? Я очень доволен своим текущим прогрессом и не хочу позже узнавать, что он прослушивается каким-то неприятным тонким способом, поэтому любые советы по тестированию операций были бы хороши.