MCPcopy Create free account
hub / github.com/bytedance/bolt / abandonPartialAggregationEarly

Method abandonPartialAggregationEarly

bolt/exec/HashAggregation.cpp:232–242  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

230}
231
232bool HashAggregation::abandonPartialAggregationEarly(int64_t numOutput) const {
233 BOLT_CHECK(isPartialOutput_ && !isGlobal_);
234 if (groupingSet_->hasSpilled()) {
235 // Once spilling kicked in, disable the abandoning code path.
236 // This is because spilling only enabled when output/input is small,
237 // and abandoning in this case will cause data expansion in shuffle
238 return false;
239 }
240 return numInputRows_ > abandonPartialAggregationMinRows_ &&
241 100 * numOutput / numInputRows_ >= abandonPartialAggregationMinPct_;
242}
243
244bool HashAggregation::preferPartialSpill(
245 int64_t numOutput,

Callers

nothing calls this directly

Calls 1

hasSpilledMethod · 0.45

Tested by

no test coverage detected