[C++] Create many-column scanner microbenchmarks
- 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
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