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

Method computeSpillPartitions

bolt/exec/HashBuild.cpp:943–961  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

941}
942
943void HashBuild::computeSpillPartitions(const RowVectorPtr& input) {
944 if (hashes_.size() < activeRows_.end()) {
945 hashes_.resize(activeRows_.end());
946 }
947 const auto& hashers = table_->hashers();
948 for (auto i = 0; i < hashers.size(); ++i) {
949 auto& hasher = hashers[i];
950 if (hasher->channel() != kConstantChannel) {
951 hashers[i]->hash(activeRows_, i > 0, hashes_);
952 } else {
953 hashers[i]->hashPrecomputed(activeRows_, i > 0, hashes_);
954 }
955 }
956
957 spillPartitions_.resize(input->size());
958 for (auto i = 0; i < spillPartitions_.size(); ++i) {
959 spillPartitions_[i] = spiller_->hashBits().partition(hashes_[i]);
960 }
961}
962
963void HashBuild::spillPartition(
964 uint32_t partition,

Callers

nothing calls this directly

Calls 7

hashPrecomputedMethod · 0.80
sizeMethod · 0.45
endMethod · 0.45
resizeMethod · 0.45
channelMethod · 0.45
hashMethod · 0.45
partitionMethod · 0.45

Tested by

no test coverage detected