Skip to content

[C++][Parquet] SIMD-accelerate the SBBF probe in BlockSplitBloomFilter::FindHash #50026

@dmatth1

Description

@dmatth1

Describe the enhancement requested

Describe the enhancement requested

BlockSplitBloomFilter::FindHash currently ships the scalar reference probe, an 8-iteration short-circuit loop.

Proposing a runtime-dispatched implementation: branchless OR-accumulator reduction at the baseline (autovectorizes to SSE on x86, NEON on aarch64), plus an xsimd kernel built with -mavx2 for the runtime AVX2 dispatch target. There's no on-disk
format change, no public API change, and it's bit-identical to the scalar reference.

Discussed on the dev list: https://lists.apache.org/thread/omof0fq47tndfd80g5hwp2bvjmzvpb40

Insert path uses the same loop shape and will follow as a separate issue / PR to keep this change focused.

Component(s)

C++, Parquet

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions