Files
arrow/cpp
Dominique Belhachemi 36f655f44c GH-51476: [C++][Parquet] Vectorise FindMinMax explicitly (#51478)
### Rationale for this change

FindMinMaxAvx2 in parquet/level_comparison_avx2.cc was not vectorised. 

### What changes are included in this PR?

A single xsimd kernel `FindMinMaxSimd<Arch>` in `level_comparison_simd_kernel_internal.h`,
plus support for multiple architectures.

### Are these changes tested?

Yes, with a nice speedup.
| dispatch level | time |
|---|---|
| NONE | 513 ns |
| SSE4_2 | 54.9 ns (9.3x) |
| AVX2 | 28.7 ns (17.9x) |

### Are there any user-facing changes?

No

### Was AI used for this PR?

**PR code and description written by:**

- [x] Human
- [x] AI

**Reviewed before submission by:**

- [x] Human
- [x] AI
- [ ] Not reviewed

* GitHub Issue: #51476

Authored-by: Dominique Belhachemi <db@domibel.de>
Signed-off-by: Antoine Pitrou <antoine@python.org>
2026-10-06 10:56:00 +02:00
..

Apache Arrow C++

This directory contains the code and build system for the Arrow C++ libraries, as well as for the C++ libraries for Apache Parquet.

Installation

See https://arrow.apache.org/install/ for the latest instructions on how to install pre-compiled binary versions of the library.

Source Builds and Development

Please refer to our latest C++ Development Documentation.