STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type Struct Reference

Detailed Description

template<class ValueType, class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
struct stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type

Struct of all statistical counters and timers. Turn on/off statistics using the stats_counter and stats_timer typedefs.

Definition at line 4512 of file parallel_priority_queue.h.

+ Collaboration diagram for stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type:

Public Attributes

stats_timer direct_flush_time
 Total time for flush_directly_to_hd() More...
 
stats_timer external_array_merge_time
 Total time for merge_external_arrays() More...
 
stats_timer extract_min_time
 Total time for extract_min() More...
 
stats_timer hint_time
 
stats_timer insertion_heap_flush_time
 Total time for flush_insertion_heaps() More...
 
stats_timer internal_array_flush_time
 Total time for flush_internal_arrays() More...
 
stats_counter max_extract_buffer_size
 Largest number of elements in the extract buffer at the same time. More...
 
stats_counter max_merge_buffer_size
 Largest number of elements in the merge buffer when running flush_internal_arrays() More...
 
stats_counter max_num_external_arrays
 Largest number of external arrays at the same time. More...
 
stats_counter max_num_internal_arrays
 Largest number of internal arrays at the same time. More...
 
stats_counter max_num_new_external_arrays
 Largest number of new external arrays at the same time (which were created while the extract buffer hadn't been empty) More...
 
stats_counter max_num_new_internal_arrays
 Largest number of new internal arrays at the same time (which were created while the extract buffer hadn't been empty) More...
 
stats_timer merge_sorted_heaps_time
 Total time for merging the sorted heaps. Part of flush_insertion_heaps. More...
 
stats_counter num_direct_flushes
 Number of flush_directly_to_hd() calls. More...
 
stats_counter num_external_array_merges
 Number of merge_external_arrays() calls. More...
 
stats_counter num_extract_buffer_refills
 Number of refill_extract_buffer() calls. More...
 
stats_counter num_extracts
 Total number of extracts. More...
 
stats_counter num_insertion_heap_flushes
 Number of flush_insertion_heaps() calls. More...
 
stats_counter num_internal_array_flushes
 Number of flush_internal_arrays() calls. More...
 
stats_counter num_new_external_arrays
 Temporary number of new external arrays at the same time (which were created while the extract buffer hadn't been empty) More...
 
stats_counter num_new_internal_arrays
 Temporary number of new internal arrays at the same time (which were created while the extract buffer hadn't been empty) More...
 
stats_timer pop_heap_time
 Total time for pop_heap() in extract_min(). Part of extract_min_time. More...
 
stats_timer refill_accumulate_time
 Total time for std::lower_bound calls in refill_extract_buffer() Part of refill_extract_buffer_time and refill_time_before_merge. More...
 
stats_timer refill_extract_buffer_time
 Total time for refill_extract_buffer() More...
 
stats_timer refill_merge_time
 Total time for the merging in refill_extract_buffer() Part of refill_extract_buffer_time. More...
 
stats_timer refill_minmax_time
 Total time for determining the smallest max value in refill_extract_buffer() Part of refill_extract_buffer_time and refill_time_before_merge. More...
 
stats_timer refill_time_after_merge
 Total time for all things after merging in refill_extract_buffer() Part of refill_extract_buffer_time. More...
 
stats_timer refill_time_before_merge
 Total time for all things before merging in refill_extract_buffer() Part of refill_extract_buffer_time. More...
 
stats_timer refill_wait_time
 Total time of wait() calls in first part of refill_extract_buffer(). Part of refill_time_before_merge and refill_extract_buffer_time. More...
 
stats_counter total_extract_buffer_size
 Sum of the sizes of each extract buffer refill. Used for average size. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const stats_type &o)
 

Friends And Related Function Documentation

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
std::ostream& operator<< ( std::ostream &  os,
const stats_type o 
)
friend

Definition at line 4622 of file parallel_priority_queue.h.

Member Data Documentation

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::direct_flush_time

Total time for flush_directly_to_hd()

Definition at line 4569 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::external_array_merge_time

Total time for merge_external_arrays()

Definition at line 4575 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::extract_min_time

Total time for extract_min()

Definition at line 4578 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::hint_time

Definition at line 4620 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::insertion_heap_flush_time

Total time for flush_insertion_heaps()

Definition at line 4566 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::internal_array_flush_time

Total time for flush_internal_arrays()

Definition at line 4572 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::max_extract_buffer_size

Largest number of elements in the extract buffer at the same time.

Definition at line 4515 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::max_merge_buffer_size

Largest number of elements in the merge buffer when running flush_internal_arrays()

Definition at line 4523 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::max_num_external_arrays

Largest number of external arrays at the same time.

Definition at line 4547 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::max_num_internal_arrays

Largest number of internal arrays at the same time.

Definition at line 4544 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::max_num_new_external_arrays

Largest number of new external arrays at the same time (which were created while the extract buffer hadn't been empty)

Definition at line 4555 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::max_num_new_internal_arrays

Largest number of new internal arrays at the same time (which were created while the extract buffer hadn't been empty)

Definition at line 4563 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::merge_sorted_heaps_time

Total time for merging the sorted heaps. Part of flush_insertion_heaps.

Definition at line 4606 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::num_direct_flushes

Number of flush_directly_to_hd() calls.

Definition at line 4535 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::num_external_array_merges

Number of merge_external_arrays() calls.

Definition at line 4541 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::num_extract_buffer_refills

Number of refill_extract_buffer() calls.

Definition at line 4529 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::num_extracts

Total number of extracts.

Definition at line 4526 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::num_insertion_heap_flushes

Number of flush_insertion_heaps() calls.

Definition at line 4532 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::num_internal_array_flushes

Number of flush_internal_arrays() calls.

Definition at line 4538 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::num_new_external_arrays

Temporary number of new external arrays at the same time (which were created while the extract buffer hadn't been empty)

Definition at line 4551 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::num_new_internal_arrays

Temporary number of new internal arrays at the same time (which were created while the extract buffer hadn't been empty)

Definition at line 4559 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::pop_heap_time

Total time for pop_heap() in extract_min(). Part of extract_min_time.

Definition at line 4602 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::refill_accumulate_time

Total time for std::lower_bound calls in refill_extract_buffer() Part of refill_extract_buffer_time and refill_time_before_merge.

Total time for std::accumulate calls in refill_extract_buffer() Part of refill_extract_buffer_time and refill_time_before_merge.

Definition at line 4614 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::refill_extract_buffer_time

Total time for refill_extract_buffer()

Definition at line 4581 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::refill_merge_time

Total time for the merging in refill_extract_buffer() Part of refill_extract_buffer_time.

Definition at line 4585 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::refill_minmax_time

Total time for determining the smallest max value in refill_extract_buffer() Part of refill_extract_buffer_time and refill_time_before_merge.

Definition at line 4618 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::refill_time_after_merge

Total time for all things after merging in refill_extract_buffer() Part of refill_extract_buffer_time.

Definition at line 4593 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::refill_time_before_merge

Total time for all things before merging in refill_extract_buffer() Part of refill_extract_buffer_time.

Definition at line 4589 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_timer stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::refill_wait_time

Total time of wait() calls in first part of refill_extract_buffer(). Part of refill_time_before_merge and refill_extract_buffer_time.

Definition at line 4598 of file parallel_priority_queue.h.

template<class ValueType , class CompareType = std::less<ValueType>, class AllocStrategy = STXXL_DEFAULT_ALLOC_STRATEGY, uint64 BlockSize = STXXL_DEFAULT_BLOCK_SIZE(ValueType), uint64 DefaultMemSize = 1* 1024L* 1024L* 1024L, uint64 MaxItems = 0>
stats_counter stxxl::parallel_priority_queue< ValueType, CompareType, AllocStrategy, BlockSize, DefaultMemSize, MaxItems >::stats_type::total_extract_buffer_size

Sum of the sizes of each extract buffer refill. Used for average size.

Definition at line 4519 of file parallel_priority_queue.h.


The documentation for this struct was generated from the following file: