Thrill
0.1
|
Configuration class to define operational parameters of reduce hash tables and reduce phases.
Most members can be defined static constexpr or be mutable variables. Not all members need to be used by all implementations.
Definition at line 40 of file reduce_table.hpp.
#include <reduce_table.hpp>
Public Member Functions | |
Accessors | |
double | limit_partition_fill_rate () const |
Returns limit_partition_fill_rate_. More... | |
double | bucket_rate () const |
Returns bucket_rate_. More... | |
Public Attributes | |
double | bucket_rate_ = 0.6 |
double | limit_partition_fill_rate_ = 0.5 |
Static Public Attributes | |
static constexpr size_t | bucket_block_size_ = 512 |
static constexpr size_t | initial_items_per_partition_ = 512 |
only for growing ProbingHashTable: items initially in a partition. More... | |
static constexpr ReduceTableImpl | table_impl_ = ReduceTableImpl::PROBING |
select the hash table in the reduce phase by enum More... | |
static constexpr bool | use_mix_stream_ = true |
static constexpr bool | use_post_thread_ = true |
|
inline |
Returns bucket_rate_.
Definition at line 77 of file reduce_table.hpp.
|
inline |
Returns limit_partition_fill_rate_.
Definition at line 73 of file reduce_table.hpp.
|
static |
only for BucketHashTable: size of a block in the bucket chain in bytes (must be a static constexpr)
Definition at line 59 of file reduce_table.hpp.
double bucket_rate_ = 0.6 |
only for BucketHashTable: ratio of number of buckets in a partition relative to the maximum possible number.
Definition at line 49 of file reduce_table.hpp.
|
static |
only for growing ProbingHashTable: items initially in a partition.
Definition at line 55 of file reduce_table.hpp.
double limit_partition_fill_rate_ = 0.5 |
limit on the fill rate of a reduce table partition prior to triggering a flush.
Definition at line 45 of file reduce_table.hpp.
|
static |
select the hash table in the reduce phase by enum
Definition at line 52 of file reduce_table.hpp.
|
static |
use MixStream instead of CatStream in ReduceNodes: this makes the order of items delivered in the ReduceFunction arbitrary.
Definition at line 63 of file reduce_table.hpp.
|
static |
use an additional thread in ReduceNode and ReduceToIndexNode to process the pre and post phases simultaneously.
Definition at line 67 of file reduce_table.hpp.