Skip building binaries in when there are no tests#8820
Conversation
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
|
This will mean if we do add tests to these mod, they will be skipped? |
|
If you put a test in |
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Benchmarks: Vortex queriesVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.887x ✅, 2↑ 0↓)
datafusion / parquet (0.804x ✅, 2↑ 0↓)
duckdb / vortex-file-compressed (0.835x ✅, 2↑ 0↓)
duckdb / parquet (0.939x ➖, 0↑ 0↓)
No file size changes detected. |
Merging this PR will improve performance by 11.17%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | Simulation | true_count_vortex_buffer[128] |
580.6 ns | 522.2 ns | +11.17% |
Tip
Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.
Comparing adamg/skip-buildings-binaries-tests (0548331) with develop (da76f5b)2
Footnotes
-
10 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
-
No successful run was found on
develop(3513367) during the generation of this report, so da76f5b was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
|
Seems like a correctness bug waiting to happen |
|
what code do we have that depends on this sort of test and that's actually important? |
## Rationale for this change - Closes: #8807 Three benchmarks stayed flaky after #8742, flipping between the same two values on PRs that can't affect them. Same root causes and fixes as #8742: | Benchmark | Seen flaky on | Why | Fix | | --- | --- | --- | --- | | `true_count_vortex_buffer[128]` | ±11.17% on 9 unrelated PRs (#8805, #8811, #8812, #8820, #8843, #8803, …) | a 128-bit popcount measures harness overhead and code layout, not the count | drop the 128 size | | runend `compress[(100000, 4)]` | ±11.9% on #8805, #8750, #8856 | allocates in the timed region; glibc malloc differs across runner images | mimalloc as global allocator | | `cast_decimal` `copy_*[65536]` | identical flags on #8838 and #8724 | same glibc-malloc cause (512 KB alloc per iteration) | mimalloc as global allocator | Left alone: `compact_sliced[(4096, 90)]` (single sighting) and the CUDA walltime benches (hosted-runner walltime noise, a runner config issue). The allocator swap shifts every benchmark in the two touched binaries once — see the comment below. Needs a one-time CodSpeed acknowledgment, like #8742. ## What changes are included in this PR? One commit per benchmark; bench files only. Ran `cargo check` + `clippy` on the three bench targets, smoke-ran the binaries, `cargo +nightly fmt`. --------- Signed-off-by: Claude <noreply@anthropic.com> Co-authored-by: Claude <noreply@anthropic.com>
Rationale for this change
We have many binaries in the main workspace, many of them don't contain any tests (in the final
main.rsor equivalent file).What changes are included in this PR?
Sets
test = falsefor most binaries in the workspace, which means that runningcargo testorcargo nextestwon't build the final binary.I've also restructured
random-accessa bit (with claude's help) so it actually has a dedicatedlib.rs.What APIs are changed? Are there any user-facing changes?
None