Tim Armstrong has uploaded a new change for review.

  http://gerrit.cloudera.org:8080/4124

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, 378 insertions(+), 51 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/24/4124/1
-- 
To view, visit http://gerrit.cloudera.org:8080/4124
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I392ed5a8d5683f30f161282c228c1aedd7b648c1
Gerrit-PatchSet: 1
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Tim Armstrong <[email protected]>
Gerrit-Reviewer: Youwei Wang <[email protected]>

Reply via email to