Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-832

consider "sloppy" memcpy for better performance

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.2.0
    • None
    • perf
    • 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

        1. test.cc
          3 kB
          Todd Lipcon

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tlipcon Todd Lipcon
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: