Skip to content

[C++] Investigate performance of LevelsToBitmap without BMI2 #26079

@asfimport

Description

@asfimport

Currently, when some Parquet nested data involves some repetition levels, converting the levels to bitmap goes through a slow scalar path unless the BMI2 instruction set is available and efficient (the latter using the PEXT instruction to process 16 levels at once).

It may be possible to emulate PEXT for 5- or 6-bit masks by using a lookup table, allowing to process 5-6 levels at once.

(also, it would be good to add nested reading benchmarks for non-trivial nesting; currently we only benchmark one-level struct and one-level list)

Reporter: Antoine Pitrou / @pitrou
Assignee: Antoine Pitrou / @pitrou

Original Issue Attachments:

PRs and other links:

Note: This issue was originally created as ARROW-10058. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions