Youwei Wang has uploaded a new patch set (#35). Change subject: IMPALA-2809: Improve ByteSwap with builtin function or SSSE3 or AVX2. ......................................................................
IMPALA-2809: Improve ByteSwap with builtin function or SSSE3 or AVX2. Using SSSE3/AVX2 intrinsic to accelerate the function "static inline void ByteSwap(void* dst, const void* src, int len)" of BitUtil class, and a scalar byte-swap routine is added as fallback. Also the runtime selector for CPUs of different capacity is included, as well as performance test and data verification. Brief performance comparison is listed here: CPU: Intel(R) Core(TM) i5-4460 [email protected] Result: I0725 20:47:02.402506 2078 bswap-benchmark.cc:117] Machine Info: Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz ByteSwap benchmark: Function iters/ms 10%ile 50%ile 90%ile 10%ile 50%ile 90%ile (relative) (relative) (relative) --------------------------------------------------------------------------------------------------------- FastScalar 675 725 731 1X 1X 1X SSSE3 6.12e+03 6.2e+03 6.23e+03 9.06X 8.55X 8.53X AVX2 1.87e+04 1.88e+04 1.89e+04 27.7X 25.9X 25.9X SIMD 1.82e+04 1.88e+04 1.89e+04 27X 25.9X 25.9X Change-Id: I392ed5a8d5683f30f161282c228c1aedd7b648c1 --- M be/src/benchmarks/CMakeLists.txt A be/src/benchmarks/bswap-benchmark.cc M be/src/exprs/string-functions-ir.cc M be/src/util/bit-util-test.cc M be/src/util/bit-util.cc M be/src/util/bit-util.h 6 files changed, 368 insertions(+), 52 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/81/3081/35 -- To view, visit http://gerrit.cloudera.org:8080/3081 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I392ed5a8d5683f30f161282c228c1aedd7b648c1 Gerrit-PatchSet: 35 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Youwei Wang <[email protected]> Gerrit-Reviewer: Alex Behm <[email protected]> Gerrit-Reviewer: Jim Apple <[email protected]> Gerrit-Reviewer: Marcel Kornacker <[email protected]> Gerrit-Reviewer: Mostafa Mokhtar <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-Reviewer: Youwei Wang <[email protected]>
