Class anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner

class

Public Functions

anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::BucketSizeTuner(const double bucket_threshold, const double step, const double min_threshold, const Data_Namespace::MemoryLevel effective_memory_level, const std::vector< ColumnsForDevice > & columns_per_device, const std::vector< InnerOuter > & inner_outer_pairs, const size_t table_tuple_count, const Executor * executor)
bool anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::tuneOneStep()
bool anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::tuneOneStep(const TuningState::TuningDirection tuning_direction)
bool anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::tuneOneStep(const TuningState::TuningDirection tuning_direction, const double step_overide)
auto anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::getMinBucketSize() const
std::vector<double> anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::getInverseBucketSizes()

Method to retrieve inverted bucket sizes, which are what are used elsewhere in the OverlapsHashTable framework

Return

the inverted bucket sizes, i.e. a set of that will place a raw value in a bucket when multiplied by the raw value

Private Functions

bool anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::bucketThresholdsBelowMinThreshold() const
std::vector<double> anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::computeBucketSizes() const
bool anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::tuneSmallerOneStep(const double step_overide)
bool anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::tuneLargerOneStep(const double step_overide)

Private Members

size_t anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::num_dims_
std::vector<double> anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::bucket_thresholds_
size_t anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::num_steps_ = {0}
const double anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::step_
const double anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::min_threshold_
const Data_Namespace::MemoryLevel anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::effective_memory_level_
const std::vector<ColumnsForDevice>& anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::columns_per_device_
const std::vector<InnerOuter>& anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::inner_outer_pairs_
const size_t anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::table_tuple_count_
const Executor* anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::executor_
std::vector<double> anonymous_namespace{OverlapsJoinHashTable.cpp}::BucketSizeTuner::current_bucket_sizes_

Friends

std::ostream &operator<<(std::ostream &os, const BucketSizeTuner &tuner)