GNU g++  v5.2.1
GNU Standard C++
balanced_quicksort.h File Reference

Implementation of a dynamically load-balanced parallel quicksort. More...

Include dependency graph for balanced_quicksort.h:

Classes

struct  __gnu_parallel::_QSBThreadLocal< _RAIter >
 Information local to one thread in the parallel quicksort run. More...
 

Namespaces

 __gnu_parallel
 GNU parallel code for public use.
 

Functions

template<typename _RAIter , typename _Compare >
void __gnu_parallel::__parallel_sort_qsb (_RAIter __begin, _RAIter __end, _Compare __comp, _ThreadIndex __num_threads)
 Top-level quicksort routine. More...
 
template<typename _RAIter , typename _Compare >
void __gnu_parallel::__qsb_conquer (_QSBThreadLocal< _RAIter > **__tls, _RAIter __begin, _RAIter __end, _Compare __comp, _ThreadIndex __iam, _ThreadIndex __num_threads, bool __parent_wait)
 Quicksort conquer step. More...
 
template<typename _RAIter , typename _Compare >
std::iterator_traits< _RAIter >::difference_type __gnu_parallel::__qsb_divide (_RAIter __begin, _RAIter __end, _Compare __comp, _ThreadIndex __num_threads)
 Balanced quicksort divide step. More...
 
template<typename _RAIter , typename _Compare >
void __gnu_parallel::__qsb_local_sort_with_helping (_QSBThreadLocal< _RAIter > **__tls, _Compare &__comp, _ThreadIndex __iam, bool __wait)
 Quicksort step doing load-balanced local sort. More...
 

Detailed Description

Implementation of a dynamically load-balanced parallel quicksort.

It works in-place and needs only logarithmic extra memory. The algorithm is similar to the one proposed in

P. Tsigas and Y. Zhang. A simple, fast parallel implementation of quicksort and its performance evaluation on SUN enterprise 10000. In 11th Euromicro Conference on Parallel, Distributed and Network-Based Processing, page 372, 2003.

This file is a GNU parallel extension to the Standard C++ Library.