feat(types/buffer): skip copying in to_bytes
when NonContiguous
contains a single Bytes
#5388
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.
Which issue does this PR close?
Closes #5385
Rationale for this change
The
Buffer::to_bytes
method currently performs unnecessary copying when the buffer is NonContiguous but contains only a single Bytes. This results in reduced performance due to redundant data duplication. By optimizingto_bytes
to return the singleBytes
directly without copying, we can improve the efficiency of buffer operations.What changes are included in this PR?
Buffer::to_bytes
method to return the singleBytes
directly whenNonContiguous
contains only oneBytes
, avoiding unnecessary copying.Are there any user-facing changes?
No user-facing changes. This optimization improves internal performance without altering the public API or behavior visible to users.