apache / apache/arrow

[C++] Create many-column scanner microbenchmarks

Open
#33,551 0 comments 0 reactions 0 assignees View on GitHub
Component: C++ Type: task
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 18h
Merged PRs (30d)
91

Description

When developing we often assume schemas are cheap and small only to find out later that we create easily avoided bottlenecks for users that have very large schemas. We should create some micro-benchmarks for the scanner that verify we get roughly the same performance, in data-bytes-per-second, with many-columns as we do with few-columns (note, that we probably suffer in rows-per-second since we are loading more columns and thus more data).

This might also be a good time to create similar benchmarks for dataset discovery.

**Reporter**: [Weston Pace](https://issues.apache.org/jira/browse/ARROW-18387) / @westonpace

**Note**: *This issue was originally created as [ARROW-18387](https://issues.apache.org/jira/browse/ARROW-18387). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Contributor guide

Open the contributing guide

Research direction

The issue names scanner microbenchmarks and suggests similar benchmarks for dataset discovery, but it does not identify files or tests. Start by locating the scanner benchmark entry point and compare few-column and many-column cases using data-bytes-per-second; done means the requested schema sizes are covered and the results can be compared.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
performance
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.