|
tlx
|
SampleSort: Non-Recursive In-Place Sequential Sample Sort for Small Sorts. More...
#include <parallel_sample_sort.hpp>
Classes | |
| class | SeqSampleSortStep |
| Stack of Recursive Sample Sort Steps. More... | |
| class | MKQSStep |
Public Types | |
| typedef Context::key_type | key_type |
| typedef StringPtr::StringSet | StringSet |
| typedef BktSizeType | bktsize_type |
Public Member Functions | |
| PS5SmallsortJob (Context &ctx, PS5SortStep *pstep, const StringPtr &strptr, size_t depth) | |
| ~PS5SmallsortJob () | |
| void | run () |
| void | sort_sample_sort (const StringPtr &strptr, size_t depth) |
| void | sample_sort_free_work () |
| void | sort_mkqs_cache (const StringPtr &strptr, size_t depth) |
| void | mkqs_free_work () |
| void | substep_all_done () final |
| Pure virtual function called by substep when all substeps are done. | |
| Public Member Functions inherited from PS5SortStep | |
| void | substep_notify_done () |
| Notify superstep that the currently substep is done. | |
Static Public Member Functions | |
| static int | cmp (const key_type &a, const key_type &b) |
| Stack of Recursive MKQS Steps. | |
| template<typename Type> | |
| static size_t | med3 (Type *A, size_t i, size_t j, size_t k) |
| static void | insertion_sort_cache_block (const StringPtr &strptr, key_type *cache) |
| Insertion sort the strings only based on the cached characters. | |
| template<bool CacheDirty> | |
| static void | insertion_sort_cache (const StringPtr &_strptr, key_type *cache, size_t depth) |
| Insertion sort, but use cached characters if possible. | |
Public Attributes | |
| Context & | ctx_ |
| PS5SortStep * | pstep_ |
| parent sort step | |
| StringPtr | strptr_ |
| size_t | depth_ |
| MultiTimer | mtimer_ |
| simple_vector< std::uint8_t > | bktcache_ |
| size_t | bktcache_size_ |
| size_t | ss_front_ |
| std::vector< SeqSampleSortStep > | ss_stack_ |
| size_t | ms_front_ |
| std::vector< MKQSStep > | ms_stack_ |
Additional Inherited Members | |
| Protected Member Functions inherited from PS5SortStep | |
| PS5SortStep () | |
| virtual | ~PS5SortStep () |
| void | substep_add () |
| Register new substep. | |
SampleSort: Non-Recursive In-Place Sequential Sample Sort for Small Sorts.
Definition at line 292 of file parallel_sample_sort.hpp.
| typedef BktSizeType bktsize_type |
Definition at line 306 of file parallel_sample_sort.hpp.
| typedef Context::key_type key_type |
Definition at line 304 of file parallel_sample_sort.hpp.
| typedef StringPtr::StringSet StringSet |
Definition at line 305 of file parallel_sample_sort.hpp.
|
inline |
Definition at line 308 of file parallel_sample_sort.hpp.
|
inline |
Definition at line 316 of file parallel_sample_sort.hpp.
|
inlinestatic |
Stack of Recursive MKQS Steps.
Definition at line 648 of file parallel_sample_sort.hpp.
|
inlinestatic |
Insertion sort, but use cached characters if possible.
Definition at line 692 of file parallel_sample_sort.hpp.
|
inlinestatic |
Insertion sort the strings only based on the cached characters.
Definition at line 671 of file parallel_sample_sort.hpp.
|
inlinestatic |
Definition at line 654 of file parallel_sample_sort.hpp.
|
inline |
Definition at line 1017 of file parallel_sample_sort.hpp.
|
inline |
Definition at line 324 of file parallel_sample_sort.hpp.
|
inline |
Definition at line 564 of file parallel_sample_sort.hpp.
|
inline |
Definition at line 899 of file parallel_sample_sort.hpp.
|
inline |
Definition at line 445 of file parallel_sample_sort.hpp.
|
inlinefinalvirtual |
Pure virtual function called by substep when all substeps are done.
Implements PS5SortStep.
Definition at line 1071 of file parallel_sample_sort.hpp.
| simple_vector<std::uint8_t> bktcache_ |
Definition at line 321 of file parallel_sample_sort.hpp.
| size_t bktcache_size_ |
Definition at line 322 of file parallel_sample_sort.hpp.
| Context& ctx_ |
Definition at line 295 of file parallel_sample_sort.hpp.
| size_t depth_ |
Definition at line 301 of file parallel_sample_sort.hpp.
| size_t ms_front_ |
Definition at line 896 of file parallel_sample_sort.hpp.
| std::vector<MKQSStep> ms_stack_ |
Definition at line 897 of file parallel_sample_sort.hpp.
| MultiTimer mtimer_ |
Definition at line 302 of file parallel_sample_sort.hpp.
| PS5SortStep* pstep_ |
parent sort step
Definition at line 298 of file parallel_sample_sort.hpp.
| size_t ss_front_ |
Definition at line 442 of file parallel_sample_sort.hpp.
| std::vector<SeqSampleSortStep> ss_stack_ |
Definition at line 443 of file parallel_sample_sort.hpp.
Definition at line 300 of file parallel_sample_sort.hpp.