| 207 | }; |
| 208 | |
| 209 | static void MinimalEndToEndBench(benchmark::State& state) { |
| 210 | size_t num_batches = state.range(0); |
| 211 | size_t batch_size = state.range(1); |
| 212 | |
| 213 | std::function<Result<std::shared_ptr<acero::ExecNodeOptions>>(size_t, size_t)> |
| 214 | options_factory; |
| 215 | std::string scan_factory = "scan"; |
| 216 | if (state.range(2) == kScanIdx) { |
| 217 | options_factory = kScanFactory; |
| 218 | } else if (state.range(2) == kScanV2Idx) { |
| 219 | options_factory = kScanV2Factory; |
| 220 | scan_factory = "scan2"; |
| 221 | } |
| 222 | |
| 223 | for (auto _ : state) { |
| 224 | MinimalEndToEndScan(num_batches, batch_size, scan_factory, options_factory); |
| 225 | } |
| 226 | |
| 227 | state.SetItemsProcessed(state.iterations() * num_batches); |
| 228 | state.SetBytesProcessed(state.iterations() * num_batches * batch_size * |
| 229 | GetBytesForSchema()); |
| 230 | } |
| 231 | |
| 232 | static void ScanOnlyBench(benchmark::State& state) { |
| 233 | size_t num_batches = state.range(0); |
nothing calls this directly
no test coverage detected