-
Notifications
You must be signed in to change notification settings - Fork 37
issue-4664: eliminate redundant buffer allocation and data copying in TReadDataActor when reading into iovecs #4790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
1703321 to
47a8cb7
Compare
|
Note This is an automated comment that will be appended during run. 🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 47a8cb7.
🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 47a8cb7.
🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 47a8cb7.
|
47a8cb7 to
3068f8d
Compare
|
Note This is an automated comment that will be appended during run. 🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 3068f8d.
🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 3068f8d.
🔴 linux-x86_64-relwithdebinfo: some tests FAILED for commit 3068f8d.
|
e5be71b to
56f752e
Compare
d6c3aa9 to
1bc7e40
Compare
1bc7e40 to
20c4efd
Compare
| BlockBuffer->ReserveAndResize(ReadRequest.GetLength()); | ||
| TargetBuffers = CreateRope(*BlockBuffer); | ||
| } else { | ||
| TargetBuffers = CreateRope(ReadRequest.GetIovecs()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main change is here: buffers or iovecs are now wrapped into a rope, eliminating block buffer allocation and the following data copy from block buffer into the iovecs.
| namespace { | ||
|
|
||
| template <bool Owner = false> | ||
| class TIovecContiguousChunk: public IContiguousChunk |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TIovecContiguousChunk was moved from service_actor_writedata.cpp
issue: #4664
Handle reading to buffer and iovecs in the same way by wrapping buffer/iovecs into the rope.