You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Frank Du (Jira)" <ji...@apache.org> on 2020/03/18 03:20:00 UTC

[jira] [Created] (ARROW-8141) [C++] Optimize BM_PlainDecodingBoolean performance using AVX512 Intrinsics API

Frank Du created ARROW-8141:
-------------------------------

             Summary: [C++] Optimize BM_PlainDecodingBoolean performance using AVX512 Intrinsics API
                 Key: ARROW-8141
                 URL: https://issues.apache.org/jira/browse/ARROW-8141
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++
            Reporter: Frank Du
         Attachments: image-2020-03-18-11-08-38-201.png

We are running benchmark on the arrow avx512 build, perf show unpack1_32 as the major hotspot for BM_PlainDecodingBoolean indicator.

Implement this func with Intrinsics code show big improvements. See below the results on CLX 8280 cpu which is capable of AVX512.
|Benchmark|Indictor|unit|default sse build|avx512 build|avx512 build + Intrinsics|Intrinsics improvements|
|parquet-encoding-benchmark|BM_PlainDecodingBoolean/1024|G/s|1.55394|3.77701|5.02805|1.331224964|
|BM_PlainDecodingBoolean/4096 |G/s|1.83472|5.3826|8.3443|1.550235945|
|BM_PlainDecodingBoolean/32768|G/s|2.00957|6.1258|10.3793|1.694358288|
|BM_PlainDecodingBoolean/65536|G/s|2.02249|6.20035|10.5778|1.706000468|



--
This message was sent by Atlassian Jira
(v8.3.4#803005)