Хотя я не могу дать вам научное «подтверждение», подумайте:
Всякий раз, когда процессор выполняет инструкцию, это стоит времени. Если вы разрушаете свой буфер, а затем перераспределяете его, CPU должен будет выполнить инструкции освобождения / перераспределения. Ему не нужно будет выполнять эти операции, если вы повторно используете буфер.
Вероятно, можно с уверенностью сказать, что его можно использовать повторно быстрее (и мы даже не говорили о локальности памяти, где одна и та же память может оставаться в кэшах ЦП).
С учетом вышесказанного, если вы не пишете что-то, что должно быть действительно очень трудным (например, приложение в реальном времени), или если вы не определили, что этот буфер работает как узкое место в вашем приложении (пока вы измеряли производительность) Я бы сказал, напишите это так, чтобы это имело смысл и было проще в обслуживании. На современном компьютере ваши затраты на обслуживание, вероятно, составляют больший процент от общей стоимости вашего программного обеспечения, чем затраты на управление 1000 байтов.