|
||||
File indexing completed on 2025-01-18 09:51:47
0001 //constant definitions for the Boost Sort library 0002 0003 // Copyright Steven J. Ross 2001 - 2014 0004 // Distributed under the Boost Software License, Version 1.0. 0005 // (See accompanying file LICENSE_1_0.txt or copy at 0006 // http://www.boost.org/LICENSE_1_0.txt) 0007 0008 // See http://www.boost.org/libs/sort for library home page. 0009 #ifndef BOOST_SORT_SPREADSORT_DETAIL_CONSTANTS 0010 #define BOOST_SORT_SPREADSORT_DETAIL_CONSTANTS 0011 namespace boost { 0012 namespace sort { 0013 namespace spreadsort { 0014 namespace detail { 0015 //Tuning constants 0016 //This should be tuned to your processor cache; 0017 //if you go too large you get cache misses on bins 0018 //The smaller this number, the less worst-case memory usage. 0019 //If too small, too many recursions slow down spreadsort 0020 enum { max_splits = 11, 0021 //It's better to have a few cache misses and finish sorting 0022 //than to run another iteration 0023 max_finishing_splits = max_splits + 1, 0024 //Sets the minimum number of items per bin. 0025 int_log_mean_bin_size = 2, 0026 //Used to force a comparison-based sorting for small bins, if it's faster. 0027 //Minimum value 1 0028 int_log_min_split_count = 9, 0029 //This is the minimum split count to use spreadsort when it will finish in one 0030 //iteration. Make this larger the faster boost::sort::pdqsort is relative to integer_sort. 0031 int_log_finishing_count = 31, 0032 //Sets the minimum number of items per bin for floating point. 0033 float_log_mean_bin_size = 2, 0034 //Used to force a comparison-based sorting for small bins, if it's faster. 0035 //Minimum value 1 0036 float_log_min_split_count = 8, 0037 //This is the minimum split count to use spreadsort when it will finish in one 0038 //iteration. Make this larger the faster boost::sort::pdqsort is relative to float_sort. 0039 float_log_finishing_count = 4, 0040 //There is a minimum size below which it is not worth using spreadsort 0041 min_sort_size = 1000 }; 0042 } 0043 } 0044 } 0045 } 0046 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |