]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/sort/include/boost/sort/spreadsort/detail/constants.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / sort / include / boost / sort / spreadsort / detail / constants.hpp
CommitLineData
7c673cae
FG
1//constant definitions for the Boost Sort library
2
3// Copyright Steven J. Ross 2001 - 2014
4// Distributed under the Boost Software License, Version 1.0.
5// (See accompanying file LICENSE_1_0.txt or copy at
6// http://www.boost.org/LICENSE_1_0.txt)
7
8// See http://www.boost.org/libs/sort for library home page.
9#ifndef BOOST_SORT_SPREADSORT_DETAIL_CONSTANTS
10#define BOOST_SORT_SPREADSORT_DETAIL_CONSTANTS
11namespace boost {
12namespace sort {
13namespace spreadsort {
14namespace detail {
15//Tuning constants
16//This should be tuned to your processor cache;
17//if you go too large you get cache misses on bins
18//The smaller this number, the less worst-case memory usage.
19//If too small, too many recursions slow down spreadsort
20enum { max_splits = 11,
21//It's better to have a few cache misses and finish sorting
22//than to run another iteration
23max_finishing_splits = max_splits + 1,
24//Sets the minimum number of items per bin.
25int_log_mean_bin_size = 2,
26//Used to force a comparison-based sorting for small bins, if it's faster.
27//Minimum value 1
28int_log_min_split_count = 9,
29//This is the minimum split count to use spreadsort when it will finish in one
30//iteration. Make this larger the faster std::sort is relative to integer_sort.
31int_log_finishing_count = 31,
32//Sets the minimum number of items per bin for floating point.
33float_log_mean_bin_size = 2,
34//Used to force a comparison-based sorting for small bins, if it's faster.
35//Minimum value 1
36float_log_min_split_count = 8,
37//This is the minimum split count to use spreadsort when it will finish in one
38//iteration. Make this larger the faster std::sort is relative to float_sort.
39float_log_finishing_count = 4,
40//There is a minimum size below which it is not worth using spreadsort
41min_sort_size = 1000 };
42}
43}
44}
45}
46#endif