MCPcopy Create free account
hub / github.com/apache/arrow / GetFilteredFragments

Function GetFilteredFragments

cpp/src/arrow/dataset/file_benchmark.cc:72–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70}
71
72static void GetFilteredFragments(benchmark::State& state, compute::Expression filter) {
73 auto dataset = GetDataset();
74 ASSERT_OK_AND_ASSIGN(filter, filter.Bind(*dataset.dataset->schema()));
75 int64_t num_filtered_fragments = 0;
76 for (auto _ : state) {
77 num_filtered_fragments = 0;
78 ASSERT_OK_AND_ASSIGN(auto fragments, dataset.dataset->GetFragments(filter));
79 ABORT_NOT_OK(fragments.Visit([&](std::shared_ptr<Fragment>) {
80 ++num_filtered_fragments;
81 return Status::OK();
82 }));
83 }
84 state.SetItemsProcessed(state.iterations() * dataset.num_fragments);
85 state.counters["num_fragments"] = static_cast<double>(dataset.num_fragments);
86 state.counters["num_filtered_fragments"] = static_cast<double>(num_filtered_fragments);
87}
88
89using compute::field_ref;
90using compute::literal;

Callers

nothing calls this directly

Calls 6

GetDatasetFunction · 0.70
ASSERT_OK_AND_ASSIGNFunction · 0.70
OKFunction · 0.50
BindMethod · 0.45
schemaMethod · 0.45
VisitMethod · 0.45

Tested by

no test coverage detected