Make benchmark binaries (like tpch) compile faster
- Dominant language
- Rust
- Stars
- 9.3k
- Forks
- 2.4k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 344
Description
### Is your feature request related to a problem or challenge?
I found benchmark binaries takes a lot of time to compile, and most time is spent on compiling the binary itself.
I profiled the compiling time using:
```sh
# under benchmark/
cargo build --release --timings --bin tpch
```
On my m1 pro MacBook, the report shows 2 minutes is spent compiling dependencies including `datafusion` crate, and 4 minutes is spent on compiling a single `tpch` binary. For incremental builds, the later 4 minutes can't be avoided.
As a reference, `datafusion-cli` binary only took 10 sec to build on my machine.
This seems unusual, and I'm wondering is it possible to make it compile faster.
### Describe the solution you'd like
_No response_
### Describe alternatives you've considered
_No response_
### Additional context
_No response_
Contributor guide
Research direction
Start under benchmark/ by running `cargo build --release --timings --bin tpch` and comparing its report with the `datafusion-cli` build time described in the issue. Trace why the tpch binary spends several minutes compiling and determine a concrete change that reduces that time, then verify the improvement with the same timing command.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100