a mutable copy might be more efficient here.

string_decoder ( https://github.com/joyent/node/blob/master/lib/string_decoder.js#L70 ) uses copy rather then concat.

I suspect concat allocates a new N for entire size of all buffers.

Where as copy allocates a new m for size of next buffer.

This should save you copying over the first chunk in `responseBuffers[0]` .

Depending on the average length of `responseBuffers` array, this might be a significant perf increase.

As you can see `concat` ( https://github.com/joyent/node/blob/v0.8/lib/buffer.js#L501-L508 ) does a copy for all buffers including `responseBuffers[0]`