namanjain24-sudo commented on issue #25148: URL: https://github.com/apache/datafusion/issues/25148#issuecomment-5635475019
@AdamGS @blaginin the fork/`vars.USE_RUNS_ON` point is measurable, so I pulled the per-job timings for this repo to put a number on it. 14 successful `rust.yml` runs from today (6 `pull_request`, 4 `merge_group`, 4 `push`), via the Actions API. **Runs-on never engages on `pull_request`.** Every `push` and `merge_group` run put 15 of its 26 jobs on a `runs-on` runner. Every `pull_request` run put **0 of 26** there. Not "mostly forks" — all six, without exception. What that costs in ASF-billed minutes, median per run: | event | GitHub-hosted Linux | GitHub-hosted macOS | runs-on | | --- | ---: | ---: | ---: | | `push` | 23.6 | 5.1 | 43.6 | | `merge_group` | 23.4 | 5.1 | 41.0 | | `pull_request` | **137.2** | 4.9 | **0.0** | A PR run burns about **5.8x** the ASF minutes of the merge-queue run for the same commit. The individual jobs tell the same story, since `ubuntu-latest` is doing 16-vCPU work: | job | PR | merge queue | | --- | ---: | ---: | | `cargo examples (amd64)` | 15.6 | 2.9 | | `cargo test (amd64)` | 18.5 | 5.7 | | `verify benchmark results (amd64)` | 11.9 | 4.1 | | `clippy` | 8.9 | 2.2 | So dropping the `vars.USE_RUNS_ON == 'true'` guard is not a marginal tidy-up. On these numbers it removes roughly 83% of this workflow's ASF consumption, and it is the only change discussed here that does not need anyone to fund or operate new infrastructure first. The AWS credit question is real, but it is worth weighing against that ratio rather than against the merge-queue numbers, which are what most of us see. **Second, unrelated to runners.** The seven `cargo check <crate> features` jobs are 21% of a PR run and 26% of a merge-queue run: ``` cargo check datafusion / -common / -functions / -proto / -spark / -substrait / -ffi features ``` Each is a separate job compiling a heavily overlapping dependency graph from its own cache. They are all `Required`, so they also each add merge-queue start latency, which is the symptom in #25088. Folding them into one job that loops over the crates, or into a matrix sharing a cache, looks like the largest single saving available inside this repo that changes no coverage. Caveats on the numbers: this is `rust.yml` only, wall clock rather than GitHub's rounded-up billed minutes, so the real billed figures are higher and the many short jobs are undercounted here. macOS is listed separately because it bills at a multiplier. Happy to rerun over a longer window if a bigger sample would be useful. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
