Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
WriteAll saw 127GB allocs in a 5 minute timeframe for 4MiB buffers used by
io.CopyBuffer
even if they are pooled.Since all writers appear to write byte buffers, just send those instead and write directly.
The files are opened through the
os
package so they have no special properties anyway.This removes the alloc and copy for each operation.
REST sends content length so a precise alloc can be made.
This should probably be released alongside an API upgrade since we now send and rely on content-length.
How to test this PR?
Operation should be covered by existing tests.
Types of changes