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

Function BenchmarkTDigest

cpp/src/arrow/util/tdigest_benchmark.cc:30–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28static constexpr uint32_t kBufferSize = 500;
29
30static void BenchmarkTDigest(benchmark::State& state) {
31 const size_t items = state.range(0);
32 std::vector<double> values;
33 random_real(items, 0x11223344, -12345678.0, 12345678.0, &values);
34
35 for (auto _ : state) {
36 arrow::internal::TDigest td(kDelta, kBufferSize);
37 for (double value : values) {
38 td.Add(value);
39 }
40 auto quantile = td.Quantile(0);
41 benchmark::DoNotOptimize(quantile);
42 }
43 state.SetItemsProcessed(state.iterations() * items);
44}
45
46BENCHMARK(BenchmarkTDigest)->Arg(1 << 12)->Arg(1 << 16)->Arg(1 << 20);
47

Callers

nothing calls this directly

Calls 3

random_realFunction · 0.85
AddMethod · 0.45
QuantileMethod · 0.45

Tested by

no test coverage detected