single_thread.qbk 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. [/===========================================================================
  2. Copyright (c) 2017 Steven Ross, Francisco Tapia, Orson Peters
  3. Distributed under the Boost Software License, Version 1.0
  4. See accompanying file LICENSE_1_0.txt or copy at
  5. http://www.boost.org/LICENSE_1_0.txt
  6. =============================================================================/]
  7. [section:single_thread 2.- Single Thread Algorithms]
  8. [section:overview 2.0.- Overview]
  9. [:
  10. [h4[_Single Thread Algorithms]]
  11. [:
  12. This table provides a brief description of the single thread algorithms of the library.
  13. [*[teletype]
  14. ``
  15. | | | | Comparison |
  16. Algorithm |Stable | Additional memory | Best, average, and worst case | method |
  17. ------------------+-------+----------------------------+-----------------------------------------+---------------------+
  18. spreadsort | no | key_length | N, Nsqrt(LogN), min(NlogN, Nkey_length) | Hybrid radix sort |
  19. pdqsort | no | Log N | N, NLogN, NLogN | Comparison operator |
  20. spinsort | yes | N / 2 | N, NLogN, NLogN | Comparison operator |
  21. flat_stable_sort | yes |size of the data / 256 + 8K | N, NLogN, NLogN | Comparison operator |
  22. | | | | |
  23. ``
  24. ]
  25. * *spreadsort* is an extremely fast hybrid radix sort algorithm, designed and developed by Steven Ross.
  26. * *pdqsort* is a improvement of the quick sort algorithm, designed and developed by Orson Peters.
  27. * *spinsort* is a stable sort that is fast with random or nearly sorted data, designed and developed by Francisco Tapia.
  28. * *flat_stable_sort* is a stable sort that uses very little additional memory (around 1% of the size of the data), providing 80% - 90% of the speed of
  29. spinsort, designed and developed by Francisco Tapia.
  30. ]
  31. ]
  32. [endsect]
  33. [include spreadsort.qbk]
  34. [include pdqsort.qbk]
  35. [include spinsort.qbk]
  36. [include flat_stable_sort.qbk]
  37. [include linux_single.qbk]
  38. [include windows_single.qbk]
  39. [endsect]