Thrill  0.1
thrill::core Namespace Reference

Namespaces

 hyperloglog
 

Classes

class  BitStreamReader
 
class  BitStreamWriter
 
class  BufferedMultiwayMergeTree
 
class  DefaultReduceConfig
 Configuration class to define operational parameters of reduce hash tables and reduce phases. More...
 
class  DefaultReduceConfigSelect
 DefaultReduceConfig with implementation type selection. More...
 
class  DeltaStreamReader
 
class  DeltaStreamWriter
 
class  DuplicateDetection
 Duplicate detection to identify all elements occuring only on one worker. More...
 
class  GolombBitStreamReader
 
class  GolombBitStreamWriter
 
class  HyperLogLogRegisters
 
class  LocationDetection
 
class  MultiwayMergeTree
 
class  ReduceBucketHashTable
 A data structure which takes an arbitrary value and extracts a key using a key extractor function from that value. More...
 
class  ReduceByHash
 A reduce index function which returns a hash index and partition. More...
 
class  ReduceByHashPostPhase
 
class  ReduceByIndex
 A reduce index function, which determines a bucket depending on the current index range [begin,end). More...
 
class  ReduceByIndexPostPhase
 
class  ReduceMakeTableItem
 
class  ReduceMakeTableItem< Value, TableItem, false >
 
class  ReduceMakeTableItem< Value, TableItem, true >
 
class  ReduceOldProbingHashTable
 A data structure which takes an arbitrary value and extracts a key using a key extractor function from that value. More...
 
class  ReducePostPhaseEmitter
 
class  ReducePrePhase
 
class  ReducePrePhase< TableItem, Key, Value, KeyExtractor, ReduceFunction, VolatileKey, BlockWriter, ReduceConfig, IndexFunction, EqualToFunction, HashFunction, true >
 
class  ReducePrePhase< TableItem, Key, Value, KeyExtractor, ReduceFunction, VolatileKey, BlockWriter, ReduceConfig_, IndexFunction, KeyEqualFunction, HashFunction, false >
 
class  ReducePrePhaseEmitter
 
class  ReduceProbingHashTable
 A data structure which takes an arbitrary value and extracts a key using a key extractor function from that value. More...
 
class  ReduceTable
 Common super-class for bucket and linear-probing hash/reduce tables. More...
 
class  ReduceTableSelect
 Type selection via ReduceTableImpl enum. More...
 
class  ReduceTableSelect< ReduceTableImpl::BUCKET, TableItem, Key, Value, KeyExtractor, ReduceFunction, Emitter, VolatileKey, ReduceConfig, IndexFunction, KeyEqualFunction >
 
class  ReduceTableSelect< ReduceTableImpl::OLD_PROBING, TableItem, Key, Value, KeyExtractor, ReduceFunction, Emitter, VolatileKey, ReduceConfig, IndexFunction, KeyEqualFunction >
 
class  ReduceTableSelect< ReduceTableImpl::PROBING, TableItem, Key, Value, KeyExtractor, ReduceFunction, Emitter, VolatileKey, ReduceConfig, IndexFunction, KeyEqualFunction >
 
class  ToVectorEmitter
 Emitter for a ReduceTable, which emits all of its data into a vector of hash-counter-pairs. More...
 

Typedefs

using HyperLogLogSparseRegister = uint32_t
 

Enumerations

enum  HyperLogLogRegisterFormat { SPARSE, DENSE }
 
enum  ReduceTableImpl { PROBING, OLD_PROBING, BUCKET }
 Enum class to select a hash table implementation. More...
 

Functions

template<typename ValueType , typename ReaderIterator , typename Comparator >
auto make_buffered_multiway_merge_tree (ReaderIterator seqs_begin, ReaderIterator seqs_end, const Comparator &comp)
 Sequential multi-way merging switch for a file writer as output. More...
 
template<typename ValueType , typename ReaderIterator , typename Comparator = std::less<ValueType>>
auto make_multiway_merge_tree (ReaderIterator seqs_begin, ReaderIterator seqs_end, const Comparator &comp=Comparator())
 Sequential multi-way merging switch for a file writer as output. More...
 
template<typename ValueType , typename ReaderIterator , typename Comparator = std::less<ValueType>>
auto make_stable_multiway_merge_tree (ReaderIterator seqs_begin, ReaderIterator seqs_end, const Comparator &comp=Comparator())
 Sequential multi-way merging switch for a file writer as output. More...
 

Typedef Documentation

◆ HyperLogLogSparseRegister

using HyperLogLogSparseRegister = uint32_t

Definition at line 29 of file hyperloglog.hpp.

Enumeration Type Documentation

◆ HyperLogLogRegisterFormat

Enumerator
SPARSE 
DENSE 

Definition at line 31 of file hyperloglog.hpp.

◆ ReduceTableImpl

enum ReduceTableImpl
strong

Enum class to select a hash table implementation.

Enumerator
PROBING 
OLD_PROBING 
BUCKET 

Definition at line 31 of file reduce_table.hpp.

Function Documentation

◆ make_buffered_multiway_merge_tree()

auto thrill::core::make_buffered_multiway_merge_tree ( ReaderIterator  seqs_begin,
ReaderIterator  seqs_end,
const Comparator &  comp 
)

Sequential multi-way merging switch for a file writer as output.

The decision if based on the branching factor and runtime settings.

Parameters
seqs_beginBegin iterator of iterator pair input sequence.
seqs_endEnd iterator of iterator pair input sequence.
compComparator.
Template Parameters
StableStable merging incurs a performance penalty.
SentinelsThe sequences have a sentinel element.
Returns
End iterator of output sequence.

Definition at line 108 of file buffered_multiway_merge.hpp.

◆ make_multiway_merge_tree()

auto thrill::core::make_multiway_merge_tree ( ReaderIterator  seqs_begin,
ReaderIterator  seqs_end,
const Comparator &  comp = Comparator() 
)

Sequential multi-way merging switch for a file writer as output.

The decision if based on the branching factor and runtime settings.

Parameters
seqs_beginBegin iterator of iterator pair input sequence.
seqs_endEnd iterator of iterator pair input sequence.
compComparator.
Template Parameters
StableStable merging incurs a performance penalty.
SentinelsThe sequences have a sentinel element.
Returns
End iterator of output sequence.

Definition at line 132 of file multiway_merge.hpp.

◆ make_stable_multiway_merge_tree()

auto thrill::core::make_stable_multiway_merge_tree ( ReaderIterator  seqs_begin,
ReaderIterator  seqs_end,
const Comparator &  comp = Comparator() 
)

Sequential multi-way merging switch for a file writer as output.

The decision if based on the branching factor and runtime settings.

The merging is stable, ie, if the two next elements are equal according to the comparator, that of the file with the lower index is taken.

Parameters
seqs_beginBegin iterator of iterator pair input sequence.
seqs_endEnd iterator of iterator pair input sequence.
compComparator.
Template Parameters
StableStable merging incurs a performance penalty.
SentinelsThe sequences have a sentinel element.
Returns
End iterator of output sequence.

Definition at line 158 of file multiway_merge.hpp.