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)