Uh oh!
There was an error while loading. Please reload this page.
ARROW-11624: [Rust] Move Arrow benchmarks to its own crate - #9493
ARROW-11624: [Rust] Move Arrow benchmarks to its own crate#9493Dandandan wants to merge 7 commits into
Conversation
Codecov Report
@@ Coverage Diff @@## master #9493 +/- ##
=======================================
Coverage 82.12% 82.12% =======================================
Files 235 235 Lines 54729 54729 =======================================
Hits 44944 44944 Misses 9785 9785
Continue to review full report at Codecov.
|
jorgecarleitao
commented
Feb 15, 2021
Doesn't this make it more difficult to develop? I usually need to run a benchmark multiple times during dev of e.g. a kernel, and now I need to have two vs code opened for this. I do not get the benefits either: doesn't the times that you refer to only relevant in the dev and in the first build? Running I think that the concern in the mailing list is not about dev dependencies but about non-dev dependencies. |
alamb
commented
Feb 15, 2021
It is true that I was originally thinking about non-dev dependencies, though speeding up dev cycles itself is also a worthy goal. |
| memory-check = [] | ||
| [dev-dependencies] | ||
| criterion = "0.3" |
There was a problem hiding this comment.
I guess I was imagining something more like adding a
[features]
benches = ["criterion"]
So then if one wanted to have the benches built they could run a command like cargo bench --features benches or something
There was a problem hiding this comment.
Might be interesting to try out something like that out. It will keep the dev flow more similar to what we have now while reducing the compile times when you don't want to run any benchmarks.
@jorgecarleitao would something like this work for you?
I am just trying to understand how this reduces the dev cycle: maybe I am not using the correct flow. My flow atm on the arrow crate is (on a vs terminal opened on git checkout master
git checkout -b feature/A
# > remove all workspaces from `../Cargo.toml` since rust-analyzer builds all and I do not care about them.# > change something
cargo fmt
cargo clippy
cargo test --lib
cargo bench --bench X
# repeat step until happy# > commit
git checkout master
cargo bench --bench X
git checkout feature/A
cargo bench --bench X
# > copy bench resultsOpen PR with bench results and pray that other dependencies pass. If not, iterate on them. I am curious as to how others have been working here. |
alamb
commented
Mar 3, 2021
@Dandandan what do you think we should do with this PR? Is it something we should work on getting in? Or should we park the discussion for now? I doubt this is going to improve any compile times when benchmarks are involved, but it will improve times for those PRs which don't need to rerun benchmarks |
Dandandan
commented
Mar 3, 2021
@alamb let's park the discussion for now and see if there are other areas of improvement. I think it still could be a good idea to decrease compile / dev times, but the benchmarks are also quite central to the arrow crate. Maybe it makes more sense to do that it the DataFusion crate? Let's see |
alamb
commented
Mar 3, 2021
Closing this PR for now |
…ject Same idea as #9493 but for examples in DataFusion FYI @alamb Clean + building with `cargo test`. Moving the micro benchmarks out of the crate is also another possibility. | | Old | New | | ------------- |:-------------:| -----:| | Nr dependencies | 309 | 249 | | build time(s) | 77 |68 | Closes#9494 from Dandandan/move_datafusion_examples Lead-authored-by: Heres, Daniel <danielheres@gmail.com> Co-authored-by: Daniël Heres <danielheres@gmail.com> Signed-off-by: Andrew Lamb <andrew@nerdnetworks.org>
…ject Same idea as apache/arrow#9493 but for examples in DataFusion FYI @alamb Clean + building with `cargo test`. Moving the micro benchmarks out of the crate is also another possibility. | | Old | New | | ------------- |:-------------:| -----:| | Nr dependencies | 309 | 249 | | build time(s) | 77 |68 | Closes#9494 from Dandandan/move_datafusion_examples Lead-authored-by: Heres, Daniel <danielheres@gmail.com> Co-authored-by: Daniël Heres <danielheres@gmail.com> Signed-off-by: Andrew Lamb <andrew@nerdnetworks.org>
codecov-commenter
commented
Mar 31, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@## master #9493 +/- ##
=======================================
Coverage 82.12% 82.12% =======================================
Files 235 235 Lines 54729 54729 =======================================
Hits 44944 44944 Misses 9785 9785 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
To reduce the amount of dependencies in Arrow, this speeds up compile times, by removing the
criteriondependencies.On my machine time to build the crate with
cargo test: