Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.2.0
-
None
-
None
Description
On the read path, a very high percentage of our time is spent in memcpy. Typically, we are copying data to and from large allocations (eg from a data block into a column block, or from a data block into a rowblock's arena, or from an MRS arena into either of the above). In pretty much all of these cases, it would be easy to ensure that the source and destination both have at least 8 bytes of "padding" past the last valid value, and then round all of our memcpys up to the nearest 8 bytes (even if the amount to be copied is much smaller). This enables a really tight and fast memcpy loop, which microbenchmarks indicate could be 40-50% faster.
Attachments
Attachments
Issue Links
- relates to
-
KUDU-2844 Avoid copying strings from dictionary or plain-encoded blocks
- Resolved