You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@impala.apache.org by "Youwei Wang (Code Review)" <ge...@cloudera.org> on 2016/05/16 02:45:42 UTC

[Impala-CR](cdh5-trunk) IMPALA-2809: improve ByteSwap with builtin function or SSE or AVX2

Youwei Wang has uploaded a new change for review.

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

Change subject: IMPALA-2809: improve ByteSwap with builtin function or SSE or AVX2
......................................................................

IMPALA-2809: improve ByteSwap with builtin function or SSE or AVX2

Using SSE4.2/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 data is listed here:
CPU: Intel(R) Core(TM) i5-4460  CPU@3.20GHz
Runtime consumed for 1000000000 bytes:
Impala ByteSwap: 1x
SSE4.2 ByteSwap: 2.699x
AVX2 Byteswap: 2.958x
Runtime consumed for 16 bytes:
Impala ByteSwap: 1x
Improved scalar swap: 2.721x

Change-Id: I392ed5a8d5683f30f161282c228c1aedd7b648c1
---
M be/src/benchmarks/CMakeLists.txt
A be/src/benchmarks/bswap-benchmark.cc
M be/src/util/bit-util.h
A be/src/util/bit-util.inline.h
M be/src/util/cpu-info.cc
M be/src/util/cpu-info.h
M be/src/util/decimal-util.h
7 files changed, 1,346 insertions(+), 26 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I392ed5a8d5683f30f161282c228c1aedd7b648c1
Gerrit-PatchSet: 1
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Youwei Wang <42...@qq.com>