
writev might make the different here, I'm not sure. I haven't done any performance testing on the difference between writev with a number of smaller ByteStrings versus a single larger ByteString. That would be an interesting distinction.
But I suppose there's also a A1b answer. The only downside it seems of using Builder versus ByteString is the extra typing a user needs in order to convert to Builders. If we switch to ByteString, it may be true that we can achieve the same performance of Builders (based on the question of writev performance above), but it would require extra thought from a user to ensure that they properly concatenate their Builders. In this case, I would not expect writev to have the same performance, as the ByteStrings are likely coming through in different chunks.
OK. Let's add these to doc. Thank you for your time. --Kazu