Ответ, как всегда, «зависит».
Идея, лежащая в основе экспоненциального роста, то есть выделения нового буфера, в x раз превышающего текущий размер, заключается в том, что, поскольку вам требуется больше буфера, вам потребуется больше буфера, и есть вероятность, что вам понадобится гораздо больше буфера, чем Небольшое фиксированное приращение.
Итак, если у вас есть 8-байтовый буфер, и вам нужно больше выделять дополнительные 8 байтов, тогда выделение дополнительных 16 байтов, вероятно, хорошая идея - кому-то с 16-байтовым буфером вряд ли потребуется дополнительный 1 байт. И если они это сделают, все, что происходит, это то, что вы тратите немного памяти.
Я думал, что лучший фактор роста был 2 - то есть удвоил ваш буфер, но если Кениг / Саттер сказал, что 1,5 оптимально, то я согласен с ними. Вы можете настроить скорость своего роста после получения некоторой статистики использования.
Таким образом, экспоненциальный рост является хорошим компромиссом между производительностью и низким уровнем использования памяти.